首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

EntityManager类中的merge方法如何用

2012-03-14 
EntityManager类中的merge方法怎么用比如现在数据库表有三个字段 id , name , passid 是主键 我只想修改 p

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是怎么封装的

热点排行