JPA实体是否应该匹配他们映射的数据库的约束? 那些用于数据生成的数据库触发器应该如何匹配呢?
答案 0 :(得分:3)
是的,您应该在JPA模型中对约束进行建模,因为最好在实体中明确说明这些约束。
一方面,因为只是为了文档目的(许多开发人员会调查你的实体模型,而在使用你的bean时几乎没有人会查看数据库模型)。
另一方面,因为您可以尽早捕获错误的输入(甚至可能在您的UI中),因为许多框架(如JSF)都会查看它们。
您应该尝试将触发器从数据库移动到您的实体 - 将应用程序逻辑保留在一个位置并使这些内容显式化。但是将这个逻辑加倍是没有意义的 - 所以如果你需要将这些触发器保存在数据库中,不要在实体中添加它们(但是你应该在JavaDoc中提到触发器)。