我正在查看我的項目的DAO類,它有java類中的原生sql查詢。根據不同的條件有不同的查詢。我打算從java類中取出這些查詢。它可以是這樣的 -通過彈簧配置文件向DAO注入查詢
<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命名查詢是不是在我使用的情況下是可行的。
我不會打擾這種方法,它看起來像額外的複雜性沒有任何好處。 – samlewis