Re: What Hibernate Object ID generator is recommanded for - Mailing list pgsql-jdbc

From Xavier Poinsard
Subject Re: What Hibernate Object ID generator is recommanded for
Date
Msg-id 4268B9F7.6010908@free.fr
Whole thread Raw
In response to What Hibernate Object ID generator is recommanded for PG?  (Vernon <vwu725@yahoo.com>)
List pgsql-jdbc
Use

    <generator class="native">
    <param name="sequence">YourSequence</param>
    </generator>

and, of course, create a sequence named YourSequence.


Vernon wrote:
> Hi,
>
> Here is what I have:
>
> Java class:
>
> public class User {
>
>     private Integer id;
> ...
> }
>
> Hibernate Mapping:
>
>     <class name="com.ccc.domain.User" table="users">
>         <id name="id" type="int" unsaved-value="null"
>
>             <generator class="native"/>
>         </id>
> ...
>     </class>
>
> DB Table:
>
> create table USERS (
>     id             SERIAL UNIQUE primary key,
> ...
> )
>
> When I call the save(object) method of Hibernate, I
> get the following exception:
>
> 2005-04-21 13:52:13,859 ERROR
> org.springframework.web.servlet.DispatcherServlet -
> Could not complete request
> org.springframework.jdbc.BadSqlGrammarException: Bad
> SQL grammar [] in task 'Hibernate operation'; nested
> exception is java.sql.SQLException: ERROR: relation
> "hibernate_sequence" does not exist
> java.sql.SQLException: ERROR: relation
> "hibernate_sequence" does not exist
>     at
> org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1365)
>     at
> org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1160)
>     at
> org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:172)
>     at
> org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:387)
>     at
> org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:328)
>     at
> org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:238)
>     at
> org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92)
>     at
> net.sf.hibernate.id.SequenceGenerator.generate(SequenceGenerator.java:64)
>     at
> net.sf.hibernate.impl.SessionImpl.saveWithGeneratedIdentifier(SessionImpl.java:774)
>     at
> net.sf.hibernate.impl.SessionImpl.save(SessionImpl.java:747)
>     at
> org.springframework.orm.hibernate.HibernateTemplate$12.doInHibernate(HibernateTemplate.java:386)
>     at
> org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:243)
>     at
> org.springframework.orm.hibernate.HibernateTemplate.save(HibernateTemplate.java:383)
>
> It seems the native ID generator doesn't work properly
> in PG. After changing the generator to sequence. I get
> the same exception. According to the Hibernate
> documentation, that is the right way. Any suggestions
> on the subject?
>
> Thanks,
>
> Vernon
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
>


pgsql-jdbc by date:

Previous
From: "Ruediger Herrmann"
Date:
Subject: Re: isLast() and empty ResultSet
Next
From: Palle Girgensohn
Date:
Subject: Threading problem