我是hibernate的新手。昨天开始探索自己。我很困惑,想知道这是否可以用Hibernate完成。
假设我有三个表格表A(其中包含名称,预算,出价,状态,日期列),表B( ID,预算,出价)和表C( id,status )。我希望所有数据都是一致的,即每当表B中发生更新时(假设预算新值应该反映在表A中)。同样适用于表C中也发生更新。在hibernate中实现这个目标的最佳方法是什么?
答案 0 :(得分:0)
首先,我不建议跨多个表格进行数据复制,这很难支持和维护。
但是当你说这是你的主要要求时,你需要使用 JPA实体监听器(适用于所有ORM框架的Hibernate加上) postUpdate()
和postInsert()
这样,只要有表B的更新/插入,就创建&在表A中再保留一个对象(数据库中的行)。
以下是JPA规范中的观点。供您参考。
在数据库更新操作到之后发生PostUpdate回调 实体数据。
您可以找到一个简单的示例here
答案 1 :(得分:-1)
你应该在表B中插入数据时使用触发器触发事件,这将反映表格表A中的数据