读书人

EntityManager类中的merge方法如何用

发布时间: 2012-03-14 12:01:12 作者: rapoo

EntityManager类中的merge方法怎么用
比如现在数据库表有三个字段 id , name , pass
id 是主键 我只想修改 pass
是要 set 每一个这张表里的字段 还是只用set pass这一个字段呢

比如

有一个实体类
@Entity
@Table(name = "table", catalog = "datebase")
public class User {
private int id;
private String name;
private String pass;

@Id
@Column(name = "id", unique = true, nullable = false, length = 30)
public int getId() {
return this.id
}
public void setId(int id) {
this.id = id;
}
......
}


然后在EJB中要修改这张表

@PersistenceContext
private EntityManager entityManager;

int id = 123456;
User user = entityManager.find(User.class, id);
user.setId(id);
user.setName("name");
user.setPass("pass");

entityManager.merge(user);

还是只需要 user.setPass("pass"); 就可以了

[解决办法]
session.update 的时候 直接保存就可以了 不知道你的entityManager.merge是怎么封装的

读书人网 >Java相关

热点推荐