对于类型Session
,方法connection()未定义
当我在Hibernate 5.2.2中使用预准备语句时出现此错误。
问题:
Session session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
PreparedStatement statement=session.connection().prepareStatement("INSERT INTO registration values (?,?,?)");
我在连接中遇到错误()。我也改变了hibernate版本。但是我无法解决这个错误。
答案 0 :(得分:0)
该方法实际上不存在。它被删除了。 Hibernate 3.5 Javadoc说:
已过时。 (计划在4.x中删除)。更换取决于需要;用于做直接JDBC的东西使用doWork(org.hibernate.jdbc.Work);开设临时会议'使用(TBD)。
接口Work
有一个方法可以传递Connection
:
void execute(连接连接)抛出SQLException
使用提供的连接执行此工作实例封装的离散工作。
该方法可以使用Java 8 lambdas实现:
session.doWork(() -> {
connection.prepareStatement("INSERT INTO registration values (?,?,?)");
});