有没有办法运行这些查询,就好像我向他们添加了(NOLOCK)提示?Java Hibernate与nolock的HQL查询
10
A
回答
8
如果你真的需要这一点,那么你想要做的事,如:
session.connection().setTransactionIsolation(Connection.TRANSACTION_READ_UNCOMMITTED);
这等同于NOLOCK。
在你这样做之前,如果你想做一个肮脏的阅读,真的仔细考虑。大多数时候,人们这样做是因为这是他们一直以来所做的,而不是因为这是正确的事情。特别是,这不适用于缓存。
实际上,this thread进入了一些问题。在决定之前仔细阅读。
5
在Hibernate的最新版本,你需要做的是这样:
Session session = (Session) em.getDelegate();
session.doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
connection.setTransactionIsolation(Connection.TRANSACTION_READ_UNCOMMITTED);
}
});
+0
我已经使用这种方法来设置某些查询的read_uncommitted事务隔离级别,但我确实知道连接数量比没有它的数量增加了多倍。在read_uncommitted事务之前,一个用户持有应用程序的Websphere服务器上的连接数量为4,之后变为80.这是否正常?或者我应该寻找别的什么地方找到这个问题? – CntkCtn 2017-05-16 09:03:28
2
可以做到“有(NOLOCK)”如果你去本地。这是极端的,但如果替代方案正在改变事务隔离级别,那么你可以这样做。
请注意,此示例适用于MSSQL。
String sqlQueryString = "SELECT * FROM my_classes_table WITH (nolock) WHERE columnName = :columnValue";
SQLQuery sqlQuery= session.createSQLQuery(sqlQueryString).addEntity(MyClass.class);
sqlQuery.setLong("columnValue", value);
List<MyClass> out = sqlQuery.list();
相关问题
- 1. Hibernate的HQL查询 - 复杂
- 2. 构建Hibernate HQL查询
- 3. Hibernate HQL查询空列
- 4. Hibernate HQL选择查询的问题
- 5. Hibernate的HQL与接口
- 6. java hibernate:选择多态hql查询中的鉴别器列
- 7. Hibernate hql - 帮助查询外键
- 8. 在Hibernate中使用HQL更新查询
- 9. 如何将解码查询转换为Hibernate(HQL)中的查询?
- 10. Hibernate - HQL查询产生的SQL是否被hibernate系统缓存?
- 11. 嵌套查询与HQL或CriteriaBuilder查询
- 12. HQL查询与where子句
- 13. java,hibernate:映射属性与查询
- 14. Java的Hibernate查询,异常
- 15. HQL查询
- 16. Hibernate的HQL查询查找条目年长3个多小时
- 17. 如何SQL的查询转换与子查询到HQL查询?
- 18. 的Hibernate查询与收藏
- 19. NHibernate HQL查询
- 20. 子查询的HQL
- 21. 的Grails:帮助与HQL查询
- 22. 查询与HQL多对多连接表
- 23. 与NOLOCK
- 24. Java Hibernate添加查询
- 25. Java/Hibernate HQL从表查询中获取返回空错误的行
- 26. Hibernate的HQL的createQuery
- 27. 在java中使用地图HQL查询
- 28. 在Grails中使用Hibernate HQL命名查询?
- 29. 通过hibernate投影创建报表时HQL查询的错误
- 30. 在Hibernate中使用派生表的子查询HQL
谢谢,加里。 是的,我正在寻找脏读。我们的DBA在本项目区域推荐了所有“选择”的NOLOCK。问题在于,部分SQL处于休眠状态。 – Sarit 2010-08-17 13:09:53
在最新版本的Hibernate中,connection()似乎从API中删除。关于如何在没有连接对象的情况下实现类似效果的任何想法? – 2012-09-25 05:05:11
如果使用'@ Transactional'注释,它可以被指定为'isolation'属性。 – Tobb 2015-04-30 07:19:44