有没有一种方法可以从XML文件中以字符串格式获取查询?

时间:2020-04-20 14:55:57

标签: java sql xml spring spring-boot

我有一些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>

1 个答案:

答案 0 :(得分:1)

您可以将查询投射到Hibernate .Add()界面:

Query

然后致电Query query = entityManager.createNamedQuery("queryName"); org.hibernate.query.Query hibernateQuery = query;

getQueryString()