私は、JDBCを利用して既存のMySQL DBにアクセスし、JPAに変換中のアプリケーションを持っています。私のDBはすでに自動生成された主キーで設定されています。これがDBに既に定義されている場合、@Id、@GeneratedValue ...というエンティティクラスに注釈を付ける必要はありますか?注釈はすでに定義されているDBの主キー/インデックスとオーバーライド/競合しますか?JPA @Id @GeneratedValueアノテーションとDBの主キー?
0
A
答えて
0
私はあなたがMySQLで自家用機を使用していると仮定し、これらは自動生成されます。
次のコードは、必要なものを行います。
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "table_id")
GenerationType.IDENTITY
戦略に注目してください?これにより、JPAは自動生成されたデータベース値を使用するように指示します。
2
DBの主キーとJPA注釈と競合することはありません。主キーはすでに索引付けされているため、まったく問題はありません。
エンティティクラスにアノテーションを追加する必要があります。すでに定義されているDBと競合することはありません。新しいDB環境にシステムをデプロイする場合は、アノテーションが必要です。
+0
確認していただきありがとうございます。私はこれを事実と仮定したが、確認を得るのは良いと思った。 – HoosierDude
関連する問題
- 1. JPA @GeneratedValueと@Id
- 2. JPA:非IDカラムの@GeneratedValueの使用
- 3. JPAとHibernateで@Idアノテーション
- 4. JPA主キー違反
- 5. .NETCORE ID主キー
- 6. DiscriminatorColumn主キー/ IDの一部
- 7. jpa、さらに多くの主キー
- 8. 関係非主キー@OneToOne Hibernate JPA
- 9. JPA/Hibernateは複合主キーForiegn ManyToOneマッピング
- 10. JPAのアノテーションは、表
- 11. JPAのアノテーション
- 12. 主キーの一部が外部キーであるJPAでの複合主キーのマッピング方法
- 13. JPAの継承と複合主キーの拡張
- 14. Spring JPA for MySQLの@Id @GeneratedValueの初期値を設定するには?
- 15. インデックスと主キー
- 16. JPAアノテーションとHibernateを使用して@GeneratedValue戦略を動的に選択する方法はありますか?
- 17. コアデータ - データベース内の行の主キーID
- 18. JPAアノテーションのinverse = true
- 19. jpaに外部キーと複合主キーを追加していますか?
- 20. JPAエンティティは、@Columnアノテーション
- 21. 主キーとユーザーインターフェイス
- 22. Spring @GeneratedValueアノテーションが自動インクリメントフィールドで機能しない
- 23. JPA 2 - 複合主キーの1つのフィールドのみを含む外部キー?
- 24. JPAアノテーションの問題@Transient
- 25. 主キーと外部キー?
- 26. 主キーと外部キー
- 27. JPA @GeneratedValueの2つのフィールドでエラーが発生するエンティティクラス
- 28. JPAエンティティへの主キーがないSQLビューのマッピング
- 29. Mongodb:コレクション内の短い主キーとしてのオブジェクトID
- 30. SDN 4のNeo4j独自の主キーとid()関数
私はGenerationType.IDENTITY戦略を使用します。私はすでにオブジェクトIDの主キーw/auto_incrementで作成されたDBを持っています。 MySQL auto_incremementとJPA @GeneratedValueが競合しないことを確認したかっただけです。ありがとう! – HoosierDude