JPA 实体是否应该匹配它们所映射的数据库的约束? 用于数据生成的数据库触发器如何,它们是否也应该匹配?
最佳答案
是的,您应该在 JPA 模型中对约束进行建模,因为最好在您的实体中明确说明这些约束。
一方面是因为仅出于文档目的(许多开发人员会查看您的实体模型,而几乎没有人会在使用您的 bean 时查看数据库模型)。
另一方面,因为您可以尽早捕获错误输入(甚至可能在您的 UI 中),因为像 JSF 这样的许多框架都会查看它们。
并且您应该尝试将触发器从您的数据库移动到您的实体 - 将应用程序逻辑保持在一个地方并使这些事情明确。但是,将逻辑加倍是没有意义的 - 因此,如果您需要将这些触发器保留在数据库中,请不要在实体中添加它们(但您应该在 JavaDoc 中提及触发器)。
关于java - JPA 实体是否应该匹配数据库约束和触发器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31735041/