我有一个带有两个表的数据库的简单Web应用程序。
管理员可以直接从SQL脚本手动修改第一个表(例如使用PHPMyAdmin),我的web-app应该在编辑后将第二个表写入一些数据。
我可以这样做吗?
答案 0 :(得分:0)
您可以使用@PrePersist Annotation: http://docs.oracle.com/javaee/5/api/javax/persistence/PrePersist.html
public final class SampleBusinessProcess {
@PrePersist
private void preperist(final MyObject obj) {
entityManager.store(new Object2());
}
}
如果第一个实体被修改,这将把第二个实体存储到另一个表中。
编辑: 触发器无法启动JPA代码。这不是JPA的一部分。
Oracle数据库中的触发器可能会将Java代码作为java触发器启动。
我假设您使用的是mysql数据库,因此您必须在databaselevel创建一个触发器,这是一个定时服务器,它将轮询第二个表以进行更改。