- 履歴一覧
- 差分 を表示
- 現在との差分 を表示
- 履歴 を表示
- Spring Boot/Data JPA/エンティティを実装する へ行く。
- 1 (2023-01-12 (木) 16:47:58)
- 2 (2023-01-12 (木) 19:03:11)
- 3 (2023-01-17 (火) 19:37:09)
- 4 (2023-01-27 (金) 12:11:59)
#author("2023-01-12T07:47:58+00:00","default:haruki","haruki") * キーワード [#hc7c5f18] - JPA - Spring Boot - Kotlin * したいこと [#ya88d2e3] ひとまず最小で基本的な関連と永続化処理を実装したい。 * エンティティ [#u812d77a] ** モデル [#dda697ef] @Entity @Table class Foo( @Id @GeneratedValue(strategy = GenerationType.IDENTITY) var id: Long = -1, var name: String = "", var status: StatusType = StatusType.TEMPORARY_REGISTRATION ) *** エンティティにはIDが必要 [#c49b023b] JPAのエンティティはID(プライマリキー)を持つ、のが基本。 detached entity passed to persist spring jpa ** 永続化処理 [#tf12ecc5] val entity = Foo(name = "foo", status = StatusType.TEMPORARY_REGISTRATION) entityManager.persist(entity) *** Kotlinで実装する場合デフォルト値の定義が必要 [#l1e04d92] Kotlinでエンティティを実装する場合、デフォルト値を定義しておく必要がある。デフォルト値を定義しておかないと、エンティティ永続化時にエラーが発生する。永続化時に値があるかどうかではないことに注意。 * 1対多(集約等)の関係 [#g2c10fb2] TBC * 多対1(イベント等)の関係 [#w9a9673b] TBC * 1対1(カーソル等)の関係 [#k9483d82] TBC * 参考 [#sf4400b4] - [[java - How to use spring Repository without @Id? - Stack Overflow:https://stackoverflow.com/a/29561919]] - [[エンティティの状態遷移:http://itdoc.hitachi.co.jp/manuals/link/cosmi_v0870/APKC/EU070301.HTM]]