作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个像这样的简单 NamedQuery
@org.hibernate.annotations.NamedQuery(name="namedQuery",query="update entity set .... where id=:id"
我有一个这样的方法
public void updateField(final Entity entity){
final Session session = currentSession();
final org.hibernate.Query query= session.getNamedQuery("namedQuery")
...loadParameters();
query.executeUpdate();
return;
}
这总是可以正常工作,但有时在这行代码中
query.executeUpdate();
有时我会在控制台中看到从实体中进行的选择,例如实体的完整更新。我不明白为什么会发生这种情况;如果我真的想更新一个简单的字段,为什么 Hibernate 会更新我所有的字段?当这种情况发生时,namedQuery 的唯一一次更新似乎毫无用处,因为我认为之前已更新过。
类似这样的东西我在控制台中看到了
Hibernate:
/* update
com.models.Entity */ update
entity
set
BUNCH OF FIELDS
where
ID=?
后来我看到我真正想要更新的唯一字段
update
Entity
set
SINGLE_FIELD_UPDATE
where
ID=?
正如我所提到的,完整更新有时会出现有时不,有时完整更新会在 namedQuery
更新之前出现两次被处决!
这是为什么呢?为什么 Hibernate 在执行 namedQuery
中的实际字段之前会触发完整更新和两倍的完整更新?
我错过了什么吗?
最佳答案
关于Java Hibernate 为什么namedQuery上的executeUpdate首先执行全表更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38292472/
我在尝试获取我想要的结果集时遇到了一些问题。基本上我有这两个表: phonemanager_defaults | id | tag | number | |--
我是一名优秀的程序员,十分优秀!