[pgsql-jp: 39479] Re: Q)org.hibernate.id.enhanced.SequenceStyleGenerator

Takao Kato sirius @ jp.fujitsu.com
2008年 7月 4日 (金) 10:50:37 JST


加藤@川崎です。

(2008/07/04 10:51) ken :
>   山田@町田市です。
>  hibernate な質問で、ちょっと場所が違うのかもしれませんが,mysqlを使ったseamframeworkをpostgresqlに移行しようと色々やっているんですが,org.hibernate.id.enhanced.SequenceStyleGenerator がうまく動かないようです。
>  googleしてみると、うまく動いていない見たいな書き込みは見つかったのですが、回避策等は見つかりませんでした。 javaのソースには手を入れたくないので、何か回避策はないか探しています。
> 
..snip..
> 2008-07-03 16:33:22,643 DEBUG [org.hibernate.SQL] select next_val id_val from WIKI_SEQUENCE for update
> 2008-07-03 16:33:22,646 ERROR [org.hibernate.id.enhanced.TableStructure] could not read a hi value
> org.postgresql.util.PSQLException: ERROR: syntax error at or near "id_val"
> 
>  と id_valって何? どこから出てくるの? になっています。
> 

sequenceだと思います。○○_seqと○○_valはsequence呪文だと思えば(汗)。

そもそもhibernateってなんだろう?とgoogleさんにお伺いたてたところ、検索結果一番
上に出てきたサイト(http://www.okisoft.co.jp/esc/hibernate/)にそれらしき情報が出
ていましたよ。

〜部分引用〜
画面上にDBから抽出したテーブルが表示されています。既に列の情報やリレーションが
生成されているので、左上の「Generate」ボタンをクリックすれば対応したマッピング
ファイルが生成されますが、ここで若干の微調整が必要です。

PostgreSQLの場合だと、SEQUENCEにうまく対応していないようなので、このGUIでSEQUENCE
を設定してやります。画面上のテーブルを選択し、「主キーの生成方法」を"sequence"
とし、予め生成しておいたSEQUENCE名を入力します。

すべて完了したら左上の「Generate」ボタンをクリックします。すると、以下のファイ
ルが生成されます。
〜〜〜〜〜〜

これで上手くいきませんかね?
--------------------------------------------------------------------------------
加藤@川崎



pgsql-jp メーリングリストの案内