-
26-09-2019 - |
题
我需要执行验证的基础上SQL查询结果。
查询被定义为注解的作为 @NamedQuery 在我的实体豆。
根据休眠文件(doc),有的可能性,以验证豆就下列行动:
更新前
预插入
预删除
看起来像:
<hibernate-configuration>
<session-factory>
...
<event type="pre-update">
<listener class="org.hibernate.cfg.beanvalidation.BeanValidationEventListener"/>
</event>
<event type="pre-insert">
<listener class="org.hibernate.cfg.beanvalidation.BeanValidationEventListener"/>
</event>
<event type="pre-delete">
<listener class="org.hibernate.cfg.beanvalidation.BeanValidationEventListener"/>
</event>
</hibernate-configuration>
问题是如何 连我的豆 与验证配置,如上所述。
更新:
实体类
...
@Entity
@NamedQuery(name = "isValutaKursExists", query = "SELECT id FROM CurrencyRate WHERE bankId = :bankNum")
@Table(name = "Currency")
public class Currency {
...
其他提示
是,合适的做法是,如 ValidCurrency 自定义约束和匹配的 ValidCurrencyValidator 。您将需要访问Hibernate的Session RESP。 EntityManager的在你的ConstraintValidator实现。你可以在如何做到这一点的休眠维基一些想法 - 内ConstraintValidator 访问Hibernate的Session一>
不隶属于 StackOverflow