[Seasar-user:21467] Kuina-Dao + PostgreSQL でSEQUENCE取得が失敗する
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2012年 9月 18日 (火) 23:58:42 JST
はじめまして。
関根と申します。
Kuina-Dao について質問です、ご存知の方がいましたら教えて下さい。
Doltengで生成したプロジェクトでDBにH2サーバを使用してソースの自動生成を行いました。
H2での動作は確認済みです。
これを、今回 PostgreSQL 9.1 に接続するよう jdbc.dicon を変更して動作させたところ、
データの登録でエラーが発生しました。
ログを見る限りでは、シーケンスを取得でSQL構文エラーが発生しているように見えます。
PostgreSQL では select nextval('シーケンス名') のSQLを期待していましたが、
シーケンス取得のSQLの変更は可能でしょうか?
・ 環境
kuina-dao-1.0.3.jar
postgresql-9.1-902.jdbc4.jar
s2hibernate-jpa-1.0.1.jar
・ Entityソース(一部)
@Entity
@Table(name="USER_INFO")
public class UserInfo {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "USER_INFO_GEN")
@SequenceGenerator(
name = "USER_INFO_GEN",
sequenceName = "シーケンス名")
private Long id;
・ server.log
Caused by: org.hibernate.exception.GenericJDBCException: could not get next sequence value
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.id.SequenceGenerator.generate(SequenceGenerator.java:96)
at org.hibernate.id.SequenceHiLoGenerator.generate(SequenceHiLoGenerator.java:58)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:99)
at org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:131)
at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:87)
at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:38)
at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:618)
at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:592)
at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:596)
at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:212)
... 96 more
Caused by: org.seasar.framework.exception.SSQLException: [ESSR0072]SQLで例外(SQL=[call next value for シーケンス名], Message=[0], ErrorCode=, SQLState={3})が発生しました
at org.seasar.extension.jdbc.impl.PreparedStatementWrapper.wrapException(PreparedStatementWrapper.java:72)
at org.seasar.extension.jdbc.impl.PreparedStatementWrapper.wrapException(PreparedStatementWrapper.java:67)
at org.seasar.extension.jdbc.impl.PreparedStatementWrapper.executeQuery(PreparedStatementWrapper.java:83)
at org.hibernate.id.SequenceGenerator.generate(SequenceGenerator.java:75)
... 105 more
Caused by: org.postgresql.util.PSQLException: ERROR: "call"またはその近辺で構文エラー(文字位置 1)
at org.postgresql.core.v2.QueryExecutorImpl.receiveErrorMessage(QueryExecutorImpl.java:560)
at org.postgresql.core.v2.QueryExecutorImpl.processResults(QueryExecutorImpl.java:483)
at org.postgresql.core.v2.QueryExecutorImpl.execute(QueryExecutorImpl.java:363)
at org.postgresql.core.v2.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:510)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:386)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:271)
at org.seasar.extension.jdbc.impl.PreparedStatementWrapper.executeQuery(PreparedStatementWrapper.java:81)
... 106 more
以上、宜しくお願い致します。
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <https://www.seasar.org/archives/seasar-user/attachments/20120918/a185fdaa/attachment.html>
Seasar-user メーリングリストの案内