[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 メーリングリストの案内