java将一个Hibernate命名查询包含在另一个查询中
在使用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_条件”)是相同的查询,但它还有一个WHERE条件
是否可以使用此查询的公共部分进行一个查询,并在其中仅使用(或包括)第二个查询的这一部分(仅这一个条件)
# 1 楼答案
纯XML解决方案: 您可以使用
XML entity
,这是一个缩写条目,可以放在XML文档的任何位置: