java - 如何从 javax.persistence.Query 获取查询字符串?

标签 java jpa orm query-string

也许我遗漏了什么,但我只是想(在我的 java 程序中)从 javax.persistence.Query 对象获取查询字符串? Query 对象本身似乎没有执行此操作的方法。我也知道我们的经理不希望我们使用 Spring 框架的东西(例如使用他们的 QueryUtils 类)。

有没有一种方法可以简单地从 javax.persistence.Query 对象(同样,在 java 程序中)获取查询字符串?!

最佳答案

没问题。 hibernate :

query.unwrap(org.hibernate.Query.class).getQueryString()

或 eclipse 链接

query.unwrap(JpaQuery.class).getDatabaseQuery().getJPQLString();//不适用于 CriteriaQuery query.unwrap(JpaQuery.class).getDatabaseQuery().getSQLString();

或打开 JPA

query.unwrap(org.apache.openjpa.persistence.QueryImpl.class).getQueryString()

……你明白了……

关于java - 如何从 javax.persistence.Query 获取查询字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13609896/

相关文章:

Java 釉面列表 : how to update a table row

mysql - SQLAlchemy 批量更新策略

sql - 在 Ruby 中使用 SQL 文件

java - doc 到 html 转换后如何在 jeditorepane 中显示 html 文件?

java - Java 数组中的最大元素(整数数组 int[] 的 Collections.max())

java - JPA 2 : How many methods are allowed in one entity with @Prepersist annotation?

java - JPA - 仅使用 ID 保存对象时发生 TransientPropertyValueException

java - 无法保存鉴别器值。 (JPA Spring 数据+ hibernate )

java - JPQL 测试值是否在数组中

javafx 一键执行不同操作