###################################### 片方向OneToOneのEntity ###################################### クラス定義概略 ============================ .. image:: ./Images/class_one_to_one.png :scale: 50% - Employerエンティティ - Lockerエンティティ の、片方向1対1の関係を考える。 :: 【Employerエンティティの定義】 @id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "employer_no") Integer employerNo; @Column(name = "name") String name; // Lockerのlocker_noを外部キーとする項目を持つ @OneToOne @JoinColumn(name = "locker_no") private Locker locker; :: 【Lockerエンティティの定義】 @id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "locker_no") Integer lockerNo; @Column(name = "abstract") String abstract; 実行例 ============================ :: var e = Employer.build() -略- .build(); var l = Locker.build() -略- .build(); e.setLocker(l) // Entity間の関連付け repositoy.save(e) // 親エンティティを永続化 :: // 親エンティティのInsertにlocker_noが必要であるため、先に子がInsertされる Insert locker_table(locker_no, abstract) Values -略- Insert employer_table (employer_no, locker_no) Values -略- .. note:: | 子エンティティの永続化では、親エンティティは永続化されない。 | (親子の関連が読み取れない)