Hibernate通过id更改属性实例

时间:2012-10-14 11:38:30

标签: java hibernate

假设我们有一个定义了UserType属性的User类:

private UserType userType;

是否可以仅使用所需UserType的ID设置此属性?像

这样的东西
public void setUserTypeById(Long id){
   this.userType.setId(id); 
}

但是这个只会更改已分配的UserType实例的id属性,而我需要将其更改为另一个。

1 个答案:

答案 0 :(得分:2)

从理论上讲,如果您可以访问User课程中的sessionDAO,那么就有可能。然后你可以检索对应于给定ID的UserType并设置它。

但我不推荐这个。我认为最好将域类(UserUserType)与持久性类(DAO或会话)分开。最好创建一个服务类(例如UserService),它有一个方法setUserType(User user, int typeId)来处理这个问题。