我正在查看我的项目的 DAO 类,它在 java 类中有本机 sql 查询。根据不同的条件有不同的查询。我打算从java类中取出这些查询。它可以是这样的——
<bean name="hibernateRuleDao" class="com.xyz.dao.RuleDao">
<property name="ruleForSystemQuery">
<value>
select distinct rule from NormalRule as rule
inner join fetch rule.dimensions dimensions
where rule.system = :system and rule.status = :status
</value>
</property>
<property name="ruleAuditQuery">
<value>
select ra from RuleAudit ra where ra.rule.name =
:ruleName
</value>
</property>
</bean>
这是正确的方法吗?还有其他更好的方法吗?
注意:在我的用例中,使用 hibernate/jpa 命名查询是不可行的。