0

在我的域模型中,一个成员属于一个餐厅(急切),一个餐厅有许多位置(懒惰)。

//会员资格.kt@多对一@JoinColumn(name=“restaurantId”,referencedColumnName=“restaurantId”,insertable=false,updateable=false)lateinit var餐厅:餐厅//餐厅.kt@一对多@JoinColumn(name=“restaurantId”,referencedColumnName=“restauantId”、insertable=false、updateable=fase)var位置:MutableSet<Location>=mutableSetOf()

我在中有一个实体图会员资格.kt指定要加载会员制.餐厅.位置:

@命名实体图(name=“Membership.WithLocations”,attributeNodes=[NamedAttributeNode(“restaurant”,subgraph=“restaurant.WithLocations”)],子图=[命名子图(name=“Restaurant.WithLocations”,attributeNodes=[NamedAttributeNode(“位置”)])])

在我的服务层中,我需要一个方法来保存成员身份并返回应用了此实体图的成员身份。以下是我尝试的:

@事务性fun saveAndRefresh(成员资格:成员资格,实体GraphName:String):成员资格{membershipRepository.save(成员身份)val newMembership=entityManager.find(成员身份::class.java,Membership.id)实体管理器刷新(新会员,mapOf(“javax.persistence.fetchgraph”到entityManager.getEntityGraph(entityGraphName)))return newMembership(返回新会员)}

但我发现了会员制.餐厅.位置仍然没有初始化。为什么不呢?

我试过使用实体管理器.flush()保存后,还使用保存后完全分离成员身份entityManager.detach(成员身份),但两者都没有帮助。

0

重置为默认值

您的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.