我有三个bean类:Users
,UserDetail
和Auth
,我在服务类中做
@Override
public void addUser(UserDetail userDetail) {
Users users=new Users();
users.setUsername(userDetail.getUsername());
users.setEnabled(userDetail.isEnabled());
users.setAgentId(userDetail.getAgentId());
Auth auth = new Auth();
auth.setUsername(userDetail.getUsername());
auth.setAuthority(userDetail.getAuthority());
userDetailDao.addUser(userDetail, users, auth);
}
我想将所有这些对象保存在Dao类中
@Override
public void addUser(UserDetail userDetail,Users users,Auth auth)
{
// TODO Auto-generated method stub
getSession().saveOrUpdate(userDetail);
//Here i also want to save 'users' and 'auth' in same transaction..
getSession().flush();
}
可以解决吗,可以尝试...谢谢。
最佳答案
如果将UserDetail类重构为如下形式:
public final class UserDetail
{
private Users user;
private Auth auth;
// Getter and Setter
}
您可以继续并通过Hibernate将UserDetail对象存储在数据库中。
当然,您需要向UserDetail类添加所需的注释。
或者,不重建UserDetail而是创建一个新类来存储两个对象,例如UserDetailDO或UserDetailPersistence或您可以完全自己想到的更好的名称。
只需注意注释即可正确设置关系,例如OneToOne或OneToMany。