ホームページ > Java > &#&チュートリアル > Hibernate JPA は非 ID 列にシーケンスを使用できますか?

Hibernate JPA は非 ID 列にシーケンスを使用できますか?

DDD
リリース: 2024-11-30 20:44:22
オリジナル
693 人が閲覧しました

Can Hibernate JPA Use Sequences for Non-ID Columns?

非識別子列の Hibernate JPA シーケンス

質問:

は可能ですか?データベースシーケンスを利用して、識別子として指定されていないテーブル列の値を生成するまたは Hibernate JPA を使用した複合識別子のコンポーネントですか?

回答:

Hibernate JPA は、識別子として指定されていないプロパティの自動値生成をサポートしていません。 @GeneratedValue アノテーションは、自動インクリメント値を作成するために @Id と組み合わせてのみ使用されます。

回避策:

この制限を回避するには、次のような別のエンティティを作成することを検討してください。生成された識別子 (例:

@Entity
public class GeneralSequenceNumber {
  @Id
  @GeneratedValue(...)
  private Long number;
}

@Entity 
public class MyEntity {
  @Id ..
  private Long id;

  @OneToOne(...)
  private GeneralSequnceNumber myVal;
}
ログイン後にコピー

) このアプローチには、メインエンティティとシーケンスエンティティ間の 1 対 1 の関係。この別個のエンティティを利用することにより、Hibernate はメイン エンティティ内の目的のプロパティに割り当てることができる一意のシーケンス値を生成できます。

以上がHibernate JPA は非 ID 列にシーケンスを使用できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート