use*_*375 6 java orm jpa query-string
也许我错过了一些东西,但我只想(在我的java程序中)从javax.persistence.Query
对象中获取查询字符串?该Query
对象本身似乎并不具备这样做的方法.另外我知道我们的经理不希望我们使用Spring框架的东西(例如使用他们的QueryUtils
类).
有没有办法简单地从javax.persistence.Query
对象中获取查询字符串(再次,在java程序中)?
没问题。休眠:
query.unwrap(org.hibernate.Query.class).getQueryString()
Run Code Online (Sandbox Code Playgroud)
或 eclipse 链接
query.unwrap(JpaQuery.class).getDatabaseQuery().getJPQLString(); // doesn't work for CriteriaQuery
query.unwrap(JpaQuery.class).getDatabaseQuery().getSQLString();
或打开JPA
query.unwrap(org.apache.openjpa.persistence.QueryImpl.class).getQueryString()
Run Code Online (Sandbox Code Playgroud)
...你明白了...
没有 JPA 标准方法,但某些实现有自己的方法。例如 DataNucleus JPA 允许您执行以下操作
query.toString();
Run Code Online (Sandbox Code Playgroud)
Look at the docs of your implementation for how they do it. See also this blog entry http://antoniogoncalves.org/2012/05/24/how-to-get-the-jpqlsql-string-from-a-criteriaquery-in-jpa/
归档时间: |
|
查看次数: |
9227 次 |
最近记录: |