私は 'id'カラムがSEQUENCEエンティティによって自動インクリメントされるテーブルを(postgresで)設計しました。 しかし、私はmytableはINTO私が問題に会っ休止状態.... INSERT文を作成による、それは次のステートメントを使用java hibernate skip insertに 'id'を挿入する
INSERT(ID、名前)の使用を開始したVALUE(0、 'blablabla')
...
が、私はそれがそのようなsomethink作りたい:
mytableはINTO INSERT(名前は)VALUE( 'blablabla')
は... Postgresは、私はそれを構成することができます信じて
(少なくとも私はそのようなスクリプトは、SQLエディタをwithing実行したときに、それが働いていた)、自動的にIDを生成する必要がありますが、私はどのように知りません...ここで
は私.hbm.xmlの私の一部です:
<hibernate-mapping>
<class name="com.cse.database.bean.Category" table="category">
<id name="id" type="int">
<column name="id" />
<generator class="assigned" />
</id>
<property name="name" type="string">
<column name="name" length="100" not-null="true" unique="true" />
</property>
</class>
</hibernate-mapping>
PostgreSQLであることが重要です。 ''を指定すると、HibernateにIDの作成方法が伝えられます。 'assigned 'は、あなたのアプリケーションがそれをやっていることを意味します(これはあなたが望むものではありません)。 'identity'はデータベースがあなたのために行うことを意味しますが、*あなたが望むものですが、http://docs.jboss.org/hibernate/core/3.3/reference/en/html/mapping.html#mapping-declaration- idはそれをサポートするものとしてPostgreSQLをリストしていません。多分 'sequence'はPostgreSQLで動作しますか?あなたは単に 'ネイティブ'も使うことができるかもしれませんし、自動的に動作します... –
私の問題を解決した 'idenitity'に設定ジェネレータが見えます:)あなたはあなたのメッセージを回答として掲示して受け入れることができます – davs
完了。 HibernateのドキュメントがそのDBをリストしなかったので、 'identity'がPostgreSQLで動作するかどうかは確かではありませんでした。 –