我有一些XML文件,其中定义了多个命名查询,并且一切正常。
问题是我正在做一个更复杂的查询,我想知道是否有可能在我的代码中以字符串格式获取该查询。现在,我从这样的文件中获取查询:
Query query = entityManager.createNamedQuery("queryName", className.class);
query.setParameter(PARAMETER_NAME, parameter);
query.setParameter(PARAMETER_NAME, parameter);
所以我想做的基本上是代替使用 createNamedQuery()方法,我想知道如何从xml文件中获取“ queryName”查询。 为了简洁起见,我将在此处保留省略查询的xml。
<?xml version="1.0" encoding="UTF-8"?>
<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm
http://java.sun.com/xml/ns/persistence/orm_1_0.xsd" version="1.0">
<named-native-query name="queryName"
result-class="className">
<query>
**query ommited for brevity**
</query>
</named-native-query>
答案 0 :(得分:1)
您可以将查询投射到Hibernate .Add()
界面:
Query
然后致电Query query = entityManager.createNamedQuery("queryName");
org.hibernate.query.Query hibernateQuery = query;
getQueryString()