Closed. This question is opinion-based。它目前不接受答案。
想改进这个问题吗?更新问题,以便editing this post可以用事实和引用来回答。
两年前关闭。
简言之,我正在做一个新的项目,一个相对较大的项目…很多表格,许多协会,固有的。。。。(到目前为止,我已经创建了UML&MCD)
我想知道从这一步开始最好的方法是什么:我应该手动创建数据库,然后使用JPA生成实体,还是应该先手动创建实体,然后生成数据库?最好的方法是什么,这样我可以避免以后更大的问题。。。
想改进这个问题吗?更新问题,以便editing this post可以用事实和引用来回答。
两年前关闭。
简言之,我正在做一个新的项目,一个相对较大的项目…很多表格,许多协会,固有的。。。。(到目前为止,我已经创建了UML&MCD)
我想知道从这一步开始最好的方法是什么:我应该手动创建数据库,然后使用JPA生成实体,还是应该先手动创建实体,然后生成数据库?最好的方法是什么,这样我可以避免以后更大的问题。。。
最佳答案
这取决于:-)。
如果您的应用程序“拥有”数据库(是唯一的用户),那么将数据库视为实现细节并让JPA创建它通常是有意义的。这样,您就不必处理SQL,而且数据库总是符合JPA的期望。这对于埃塞克斯男孩的回答中描述的测试等场景也很有用。
如果数据库已经存在,或者打算与其他应用程序共享,那么您已经做出了选择——您必须使用它所在的位置(并小心地更改它)。
数据库结构可能有外部约束。也许您必须使用存储过程,或者使用特定的数据库命名约定,或者在实施约束的更新期间使用用于架构迁移的工具。在这种情况下,您将需要对数据库结构进行详细控制,这通常意味着您必须使用SQL自己创建它。
所以,检查你正在处理的约束,然后决定。