gpt4 book ai didi

java - 将一个 Hibernate 命名查询包含在另一个 Hibernate 命名查询中

转载 作者:行者123 更新时间:2023-12-02 10:46:18 25 4
gpt4 key购买 nike

在我使用 Hibernate 的 Java 程序中,我有包含两个命名查询的 XML 文件:

<hibernate-mapping>
<sql-query name="BIG_SQL_QUERY_WITH_LOT_OF_WHERE">
<![CDATA[
select * from Foo
where ...
and ...
and ...
...
order by ...
]]>
</sql-query>

<sql-query name="BIG_SQL_QUERY_WITH_LOT_OF_WHERE_WITH_ONE_MORE_CONDITION">
<![CDATA[
select * from Foo
where ...
and ...
and ...
...
and one_more_condition = ...
order by ...
]]>
</hibernate-mapping>

第一个查询(“BIG_SQL_QUERY_WITH_LOT_OF_WHERE”)内部有很多连接和条件。第二个查询(“BIG_SQL_QUERY_WITH_LOT_OF_WHERE_WITH_ONE_MORE_CONDITION”)是同一查询,但多了一个 where 条件。

有没有办法用该查询的公共(public)部分进行一个查询,并在其中使用(或包含)第二个查询的这一部分(只有这一个条件)?

最佳答案

纯 XML 解决方案:您可以使用 XML 实体,这是一个可以放置在 XML 文档中任何位置的缩写条目:

<?xml version="1.0" standalone="no" ?>
<!DOCTYPE hibernate-mapping [
<!ENTITY includedStuff SYSTEM "common.xml">
]>
<hibernate-mapping>
<sql-query name="BIG_SQL_QUERY_WITH_LOT_OF_WHERE">
&includedStuff;
</sql-query>
</hibernate-mapping>

关于java - 将一个 Hibernate 命名查询包含在另一个 Hibernate 命名查询中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52548651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com