Java 如何告诉hibernate使用';更新/删除时限制';

Java 如何告诉hibernate使用';更新/删除时限制';,java,sql,database,hibernate,foreign-keys,Java,Sql,Database,Hibernate,Foreign Keys,Hibernate在PostgreSQL中生成如下外键约束: ADD CONSTRAINT fk4027e58ea8b36313 FOREIGN KEY (fk_responsible_person) REFERENCES employee (id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION; 我想要 ON UPDATE RESTRICT ON DELETE RESTRICT 我当前的注释: @M

Hibernate在PostgreSQL中生成如下外键约束:

  ADD CONSTRAINT fk4027e58ea8b36313 FOREIGN KEY (fk_responsible_person)
      REFERENCES employee (id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION;
我想要

ON UPDATE RESTRICT ON DELETE RESTRICT
我当前的注释:

  @ManyToOne(optional = true, fetch = FetchType.EAGER)
  @JoinColumn(name = "fk_responsible_person", updatable = true, nullable = true)
  public Employee getResponsiblePerson()
  {
    return m_responsiblePerson;
  }

我必须使用什么样的配置/注释才能获得“restrict”而不是“no action”?

为什么需要
restrict
约束?
RESTRICT
NO ACTION
之间唯一的区别是
RESTRICT
不能被
修改
。我以前使用MS SQL Server,那里的
RESTRICT
意味着,只要另一个表有引用,就不可能删除员工。我不知道不同的
是什么意思。请阅读第页。描述外键的部分。在PostgreSQL中,
无操作
仍然意味着,只要存在对某个键的引用,就无法删除该键。
defer
约束的功能是将对该约束的检查推迟到事务结束的功能。顺便说一句,MS SQL Server对删除时的
无操作执行相同操作
-如果存在对已删除密钥的引用,则抛出引用完整性错误。ORACLE和任何遵循ANSI SQL标准的DBMS也是如此。好吧,谢谢你(认真地)教育我,我不知道
无操作
限制
基本相同。我总是天真地认为,
不采取行动
意味着“不采取行动”。。。所以我想我现在很好。但回到最初的问题:如何使用hibernate注释控制操作?