如何在java Hibernate中更新主键

时间:2011-08-05 06:33:28

标签: java hibernate

我正在研究Mvc架构,我有pojo对象我想要更改主键请你能帮助我           主键是varchar           例如:

Users users=usersDao.load("mark")

2 个答案:

答案 0 :(得分:13)

您永远不应该更改主键的值。主键定义对象的标识。如果主键已更改,则Hibernate或任何其他JPA实现无法将对象标识为同一对象。如果主键可能会发生变化,则应选择其他主键或生成代理键。

解决方法是

  1. 删除现有对象
  2. 使用不同的主键值再次保留对象。

答案 1 :(得分:0)

仍然据我所知,您需要直接尝试SQL / JDBC。然后以某种方式尝试使实体从休眠内部状态和所有缓存中失效。