Home > Archive > PostgreSQL JDBC > April 2005 > Re: What Hibernate Object ID generator is recommanded for









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Re: What Hibernate Object ID generator is recommanded for
Xavier Poinsard

2005-04-22, 7:23 am

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. BadSqlGrammarExcepti
on: 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(Query
ExecutorImpl.java:1160)
> at
> org.postgresql.core.v3.QueryExecutorImpl. execute(QueryExecuto
rImpl.java:172)
> at
> org.postgresql.jdbc2. AbstractJdbc2Stateme
nt. execute(AbstractJdbc
2Statement.java:387)
> at
> org.postgresql.jdbc2. AbstractJdbc2Stateme
nt. executeWithFlags(Abs
tractJdbc2Statement.java:328)
> at
> org.postgresql.jdbc2. AbstractJdbc2Stateme
nt. executeQuery(Abstrac
tJdbc2Statement.java:238)
> at
> org.apache.commons.dbcp. DelegatingPreparedSt
atement. executeQuery(Delegat
ingPreparedStatement
.java:92)
> at
> net.sf.hibernate.id.SequenceGenerator. generate(SequenceGen
erator.java:64)
> at
> net.sf.hibernate.impl.SessionImpl. saveWithGeneratedIde
ntifier(SessionImpl.java:774)
> at
> net.sf.hibernate.impl.SessionImpl.save(SessionImpl.java:747)
> at
> org.springframework.orm.hibernate. HibernateTemplate$12
. doInHibernate(Hibern
ateTemplate.java:386)
> at
> org.springframework.orm.hibernate.HibernateTemplate. execute(HibernateTem
plate.java:243)
> at
> org.springframework.orm.hibernate.HibernateTemplate. save(HibernateTempla
te.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
>



---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere
" to majordomo@postgresql
.org)

Sponsored Links





Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive | Programming forum archive

Copyright 2008 droptable.com