bab*_*abb 4 java jboss spring hibernate hibernate-envers
我有3种方法可以写入数据库
public void create(T object) {
entityManager.persist(object);
}
public void update(T object) {
object = entityManager.merge(object);
}
public int updateStatus(String id, String status) {
final int changes =
entityManager.createQuery("update item set state = :newState," +
" last_modified = current_timestamp" +
" where id = : id ")
.setParameter("newState", status)
.setParameter("id", id)
.executeUpdate();
return changes;
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是为了让Hibernate Envers实际将审计记录写入相应的x_aud和revinfo数据库表.它只适用于'.persist()'或'.merge()'.我不能让它为'createQuery(...). executeUpdate() '工作
我是否遗漏了某些东西,或者只是为此而努力.问题是,我的很多代码都使用.executeUpdate编写而不是合并,所以我真的需要这个来处理现有的代码.
有人可以帮忙吗?
看起来Avinash T.是对的 - 如果您想创建本机 SQL 查询,请createNativeQuery(String sqlString)使用EntityManager. createQuery(String ejbqlString)仅当您使用 EJB QL 时才可以使用。希望它会有所帮助。
| 归档时间: |
|
| 查看次数: |
4105 次 |
| 最近记录: |