I'm afraid I can only be of limited help.  We use Hibernate with two
separate databases, MS SQL & H2.   We use Hibernate 3.3 with
annotations 3.2, I believe.  So it can work.  The largest difference
between our setups is that we configure Hibernate with either
hibernate.cfg.xml or through Spring's applicationContext.xml.

The one thing I did notice... have you explicitly set the schemaUpdate
property to true?  It seems like it's trying to create it, so that may
not be the issue, but at least it's a start.

Also, if you switch the dialect & jdbcURL to another database, but
leave the rest of your configuration the same... does it auto-create
that database?  It would at least rule out H2 (or H2+Hibernate) as the
problem.

On Oct 23, 10:35 am, "Limbic System" <[EMAIL PROTECTED]> wrote:
> Hi folks,
>
> I'm having trouble integrating H2 with Hibernate & PostgreSQL.  To be honest
> I'm not sure this is truly an H2 issue or a Hibernate one.  The background
> is that we have a rather large legacy infrastructure built around Postgres
> and Hibernate.  All of our "unit" tests are really functional tests that
> actually exercise Postgres.  I'm trying to change them (or at least add new
> ones) so that they can talk to an H2 or HSQLDB in-memory database, both for
> speed and independence from the DB.  I've been stymied by a couple of
> problems.
> The principal issue is that Hibernate doesn't seem to auto-generate schemas
> if you use JPA-style annotations and a non-default schema.  I tried applying
> a patch <http://opensource.atlassian.com/projects/hibernate/browse/HHH-1853>
> suggested
> in the Hibernate JIRA.  With this patch applied, I see from the H2 logging
> that the schema creation is happening, but it's happening after the table
> creation, which obviously doesn't work.  If I try creating my schemas
> manually, it gets further along, but then it fails trying to alter
> constraints on tables that haven't been created yet.  As I said, I'm really
> not sure H2 is at fault here, but I'm hoping maybe someone on this forum has
> some experience with this.
>
> I'm using the following.
>
>             String jdbcUrl =
> "jdbc:h2:mem:report;MODE=PostgreSQL;DB_CLOSE_DELAY=-1;TRACE_LEVEL_SYSTEM_OUT=3";
>             Class.forName("org.h2.Driver");
>             Connection conn = DriverManager.getConnection(jdbcUrl, "DBA",
> "");
>             Statement st = conn.createStatement();
>
>             // add some mappings for postgresql types
>             st.executeUpdate("CREATE domain IF NOT EXISTS IP4R AS CLOB;");
>             st.executeUpdate("CREATE domain IF NOT EXISTS CIDR AS CLOB;");
>             st.executeUpdate("CREATE domain IF NOT EXISTS MACADDR AS
> CLOB;");
>             st.close();
>             conn.close();
>
>             Configuration config = new AnnotationConfiguration().
>                     addAnnotatedClass(com.example.JobMessage.class).
> // my custom annotated class
>                     addAnnotatedClass(com.example.Job.class).
>      // my custom annotated class
>                     setProperty("hibernate.dialect",
> "org.hibernate.dialect.H2Dialect").
>                     setProperty("hibernate.connection.driver_class",
> driver).
>                     setProperty("hibernate.connection.url", jdbcUrl).
>                     setProperty("hibernate.connection.username", "dba").
>                     setProperty("hibernate.connection.password", "").
>                     setProperty("hibernate.connection.pool_size", "1").
>                     setProperty("hibernate.connection.autocommit", "true").
>                     setProperty("hibernate.cache.provider_class",
> "org.hibernate.cache.NoCacheProvider").
>                     setProperty("hibernate.hbm2ddl.auto", "create").
>                     setProperty("hibernate.show_sql", "true");
>
>             SessionFactory sessionFactory = config.buildSessionFactory();
>
> We're using Hibernate 3.2.2.ga (patched, as per above) and
> Hibernate-annotations 3.2.1.ga.  I tried this with both H2 1.1.101 and
> 1.0.79.   If someone could point me to a known-compatible set of versions of
> all these packages, that might do the trick.  Any other help or suggestions
> are welcome.
>
> Thanks
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/h2-database?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to