有没有什么方法可以重用(通过在现有查询之上添加一个条件)命名查询(例如,在hibernate的.hbm文件中使用标记来定义namedquery)。?例如:假设我在.hbm文件中定义了一个命名查询
<sql-query name="existingQuery">
<return alias="queryNumber1" class="com.xyz.Person"/>
<![CDATA[**select country, name from person where date_of_birth >== TO_DATE(CONCAT (:dateOfBirth,'00:00:00'), 'YYYY/MM/DDHH24:MI:SS')**]]>
</sql-query>
现在我需要另一个命名查询(在附加条件下投影相同的属性集)。
<sql-query name="newQuery">
<return alias="queryNumber2" class="com.xyz.Person"/>
<![CDATA[**select country, name from person where date_of_birth >== TO_DATE(CONCAT (:dateOfBirth,'00:00:00'), 'YYYY/MM/DDHH24:MI:SS')**and age > :age ]]>
</sql-query>
有没有办法,我可以避免在数据库查询端突出显示的重复(即,我可以使用重用“existingquery”作为“newquery”)。我不想在java代码中过滤?
暂无答案!
目前还没有任何答案,快来回答吧!