From: | "Xavier Poinsard" <xpoinsard(at)free(dot)fr> |
---|---|
To: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: What Hibernate Object ID generator is recommanded for |
Date: | 2005-04-22 08:46:47 |
Message-ID: | 4268B9F7.6010908@free.fr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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(at)postgresql(dot)org
>
From | Date | Subject | |
---|---|---|---|
Next Message | Palle Girgensohn | 2005-04-22 10:46:02 | Threading problem |
Previous Message | Ruediger Herrmann | 2005-04-22 08:45:56 | Re: isLast() and empty ResultSet |