Мне нужно выполнить проверку на основе результата SQL-запроса.
Запрос определяется как аннотация - как @ NamedQuery в моем компоненте управления данными.
Согласно документации Hibernate ( doc ), существует возможность проверки bean-компонента при следующих операциях:
предварительно обновление
предварительно вставить
предварительно удалить
выглядит так:
<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>
Вопрос в том, как связать мой bean-компонент с конфигурацией проверки, описанной выше.
Последнее обновление:
класс сущности
...
@Entity
@NamedQuery(name = "isValutaKursExists", query = "SELECT id FROM CurrencyRate WHERE bankId = :bankNum")
@Table(name = "Currency")
public class Currency {
...