两张国家和州的表格 两者都有name和id status列 插入状态表更新国家/地区列状态为“是”时 在Hibernate上
与Hibernate上的SQL触发器类似
如何在Hibernate中实现触发器????
答案 0 :(得分:1)
您可以使用JPA侦听器,例如:
@Entity
@EntityListeners(StateListener.class)
public class State {
}
和你的StateListener类,注释@PostPersist
public StateListener {
@PostPersist
public void process(State state) {
// set the status here
}
}
hibernate doc:https://docs.jboss.org/hibernate/orm/4.0/hem/en-US/html/listeners.html
答案 1 :(得分:0)
我认为国家与国家之间存在一对多关系吗?您可以在国家/地区实体中使用addState(State state){this.status=true; this.states.add(state)}
如果您定义了级联,则保存country
对象将导致state
对象也被保存。并且status
对象的country
标志设置为true。
你也可以在那里实现removeState(State state)
,检查删除后列表(状态)是否为空,将status
标志设置为false。