所以,
hibernatesessionFactory
可用。
现在,在java.sql.Connection
上有一个方法Connection.SetTransactionIsolation
。
现在,您可以从sessionFactory中OpenSession()
或GetCurrentSession()
从那里,我们可以做到:
Session.DoWork(连接->{...connection.SetTransactionIsolation...})
然而,我的记忆告诉我这已经太晚了。
实际上需要在创建会话
之前执行Connection.SetTransactionIsolation
。
这不是真的吗?
此外,setreadonly
具有相同的要求。
现在,要在创建会话之前获得连接,有以下答案:
https://stackoverflow.com/A/29844998/961018
但这需要数据源
。
那么有没有一个,可以从sessionfactory
中获取datasource
,这样我就可以从我当前拥有的东西创建这个逻辑?
编辑
请不要使用S.P.R.I.N.G或A.N.N.O.T.A.T.I.O.N.S.等字眼。
“transaction Isolation”属性具有“connection”级别,这就是为什么您必须在创建连接时应用它,而不是在事务级别或在SessionFactory上(就像所有连接的一般规则一样)应用它。
考虑到您正在尝试的操作,实际上您有两个不同的选项来设置事务隔离。
最常用、最干净、最推荐的方法是设置特定的hibernate属性,如下所示:
<property name="hibernate.connection.isolation">2</property>
在特定情况下,值2对应于“已提交读取”。
否则,您可以尝试从session
获取连接实例,如下所示:
Session session = sessionFactory.getSession();
try {
session.connection().setTransactionIsolation(2);
} catch (HibernateException | SQLException e) {
e.printStackTrace();
}
请记住,以上是一个相当肮脏的方式来做到这一点,它不能保证它的工作。此外,不推荐使用org.hibernate.session
的connection()
方法,因此您不应该使用它。
然而,我个人使用了一些单元测试(作为一个实验),它工作得很好。
有人知道如何获得由Spring Boot创建的Hibernate SessionFactory的句柄吗?
我试图使用新的Java8time-API和一个模式将即时格式化为字符串: 使用上面的代码,我得到了一个异常,它抱怨一个不受支持的字段:
问题内容: 我被困在我需要我的对象的设定参考使用反序列化过程中被解析到其子对象的问题和。 为了描述这个问题,下面是类结构的简单表示。 通过这样的结构,我能够设置在通过提供给我的,例如: 我知道,我可以添加额外的给我,但我不知道如何提供我的参考对象,它是在被解析(上即时)的进程对象? 任何帮助,将不胜感激! 问题答案: 您绝对应该使用GraphAdapterBuilder。 正如您在@Braj的回答
【实践题】 设计一个微信公众号的阅读服务 题目描述 用户订阅公众号之后,可以在自己的文章列表看到所订阅公众号发表的文章,文章列表按时间倒序排列。该产品的日活用户为 1 亿,已有 100w 个公众号,每个公众号每天平均生产1篇文章。用户可以订阅任意数量公众号。整个系统如何设计,需要考虑数据存储、接口设计等问题。 【算法题】 基本的二分查找 如果有重复元素找最开始的下标 找第一个大于等于的元素下标
【Java基础】 项目介绍 final字段有什么作用 String属于基础数据类型吗? 基础类型都有哪些 普通类和抽象类的区别,抽象类和接口的区别 抽象类可以被final修饰吗,为什么? 线程和进程的区别 Java中是如何实现线程的? 继承Thread类和实现Runnable接口有什么区别? Thread类中run方法和start方法有什么区别 线程安全有什么相关的操作? 常用哪些数据结构 Arr
时长:1h,面试官人挺不错的 - 自我介绍 -工作经历 -canvas第三方库 -前端项目优化 -cookie和localStorage以及sessionStorage的区别 - 事件循环 - 宏任务微任务 -gc回收机制 -如何css手画三角形 -vue2和vue3区别 -如何理解虚拟dom -set和map的 -electron的使用 -git一些新命令 -BFC -ts用过哪些内容 -ts的