3

我正在使用 Hibernate 4.2.4,我很想知道 Hibernate 如何将 session.get 调用转换为等效的 sql 查询,该查询最终用于从数据库中检索行。我不想在控制台中记录生成的 sql。我想在我的应用程序中使用相同的 sql 查询。像下面的东西。

...
SessionFactory sessionFactory = configuration.buildSessionFactory(builder.buildServiceRegistry());

// I want the query string here
String query = sessionFactory.someUnknownMethod(Some Paramters);

Session session = sessionFactory.openSession();
// actual session.get query
Comment comment = (Comment) session.get(Comment.class, new Integer(1));
...

我已经看到了 Criteria query -> How to get SQL from Hibernate Criteria API (*not* for logging) 的这个线程。
我想知道 session.get 类型查询是否存在类似的过程。

我还看到了这个线程->从休眠中获取 SQL 获取
与我的问题完全相同的问题,但是接受的解决方案谈到了获取统计信息,据我了解,这些统计信息仅考虑了已经执行的查询。另外,从统计数据中我能够捕获 hql/sql 查询,但不能捕获 session.get 查询。

我想知道即使在实际 session.get 被执行之前,用户是否有办法生成和使用 sql(可能通过与休眠相同的路径)。

4

0 回答 0