Я использую mysql 5.5 DB, hibernate.4.0 в качестве поставщика jpa до весны 3.0.5.
У меня есть таблица user
и таблица privilege
в моей БД. Также у меня есть некоторые триггеры в моей БД. Эти триггеры реализуют некоторую бизнес-логику нашего приложения.
Например, пользователь john
вставляет запись в таблицу table_foo
через мое веб-приложение.
- Триггер
BeforeInsertTableFoo
проверит привилегии пользователя. Если у пользователя нет привилегии, триггер прервет эту операцию.
- Кроме того, если операция разрешена, другой триггер
AfterInsertTableFoo
обновит некоторые записи в таблице table_bar
.
Есть ли способ, которым я могу реализовать эту логику как «триггер» в коде Java? Похоже, что Jpa Event Listener и Hibernate Event могут делать только что-то вроде триггера, но только в одной таблице.
Конечно, я могу использовать Java-класс, чтобы сделать то же самое. Но я не могу быть уверен, что все другие разработчики, даже я, будем использовать правильный класс Java для вставки или обновления БД, когда количество бизнес-правил увеличится.
Спасибо заранее.
андрей