5
EntityManager.find()とEntityManager.getReference()をJPAで使用する場合
EntityManager.getReference(LObj.getClass()、LObj.getId())を使用してデータベースエンティティを取得し、返されたオブジェクトを別のテーブルに永続化されます。 つまり、基本的には次のような流れでした。 クラスTFacade { createT(FObj、AObj){ T TObj = new T(); TObj.setF(FObj); TObj.setA(AObj); ... EntityManager.persist(TObj); ... L LObj = A.getL(); FObj.setL(LObj); FFacade.editF(FObj); } } @ TransactionAttributeType.REQUIRES_NEW クラスFFacade { editF(FObj){ L LObj = FObj.getL(); LObj = EntityManager.getReference(LObj.getClass()、LObj.getId()); ... EntityManager.merge(FObj); ... FLHFacade.create(FObj、LObj); } } @ TransactionAttributeType.REQUIRED クラスFLHFacade { createFLH(FObj、LObj){ FLH FLHObj =新しいFLH(); FLHObj.setF(FObj); …
103
java
jakarta-ee
jpa
persistence