Re: What Hibernate Object ID generator is recommanded for

From: Dave Cramer <pg(at)fastcrypt(dot)com>
To: Vernon <vwu725(at)yahoo(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: What Hibernate Object ID generator is recommanded for
Date: 2005-04-21 22:43:10
Message-ID: 42682C7E.40201@fastcrypt.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Vernon,

You need to create a sequence called hibernate_sequence

create sequence hibernate_sequence;

Dave
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
>
>
>
>

--
Dave Cramer
http://www.postgresintl.com
519 939 0336
ICQ#14675561

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Bert Hiri 2005-04-22 06:44:07 PreparedStatement.setString
Previous Message Oliver Jowett 2005-04-21 22:16:37 Re: isLast() and empty ResultSet