小编edu*_*oda的帖子

有一种方法可以检查Hibernate方法.saveOrUpdate()是否进行了插入或更新?

我怎么知道Hibernate是否在运行后进行getHibernateTemplate().saveOrUpdate(object);了插入或更新,该方法无效!

saveOrUpdate()执行以下操作:

  • 如果对象在此会话中已经存在,则不执行任何操作
  • 如果与该会话关联的另一个对象具有相同的标识符,则引发异常
  • 如果对象没有标识符属性,请保存()
  • 如果对象的标识符具有分配给新实例化的对象的值,则将其保存()
  • 如果对象由或进行版本控制,并且版本属性值与分配给新实例化的对象的值相同,则将其保存()
  • 否则update()对象

恐怕在运行此方法之前,我始终必须检查对象是否已经具有“主键/ ID”,这是唯一的方法吗?如果是,如何以通用方式获取主键/ ID?

Serializable id = session.getIdentifier(entity);Object id = entityManagerFactory.getPersistenceUnitUtil().getIdentifier(entity);??

hibernate

5
推荐指数
1
解决办法
2673
查看次数

标签 统计

hibernate ×1