简而言之,我正在开发一个相对较大的新项目......很多桌子,很多协会,无处不在....(到目前为止,我已经创建了UML和MCD)
我想知道从这一步开始的最佳方法是什么:我应该手动创建数据库然后使用JPA生成实体,还是应该首先手动创建实体然后生成我的数据库?这样做的最佳方式是什么,以便我以后可以避免更大的问题...
答案 0 :(得分:2)
取决于: - )。
因此,请检查您正在使用的约束,然后决定。
答案 1 :(得分:1)
我强烈建议您让实体生成表格。
这也有助于测试和开发,例如,您可以使用为每次测试构建和拆除的H2数据库。
在项目合理推进之前,我甚至不会查看数据库。
JPA实体可以在没有任何表名或列名的情况下开始生活,然后随着项目的进展,可以同意列和表名,而不会对其余代码产生任何影响。
在最终集成阶段,可以对实体JPA注释进行微小更改,以允许Oracle,DB2等特定数据类型异常。
应用程序应负责自己的数据库。这对于一个新项目尤为重要。
答案 2 :(得分:1)
模式生成(由ORM层完成)是一种便利功能,但生成的模式应该在每种情况下由具有数据库(DBA)的人在生产之前进行验证。即使首先创建模式然后创建正确的ORM映射,也是更高效/可靠的方式。
答案 3 :(得分:1)
实体或非实体的表格。永远不要从数据模型创建对象模型。始终从域分析创建对象模型。 JPA 不是数据操作工具,它是一个对象操作工具。
如果您无法控制数据库架构,则只需要它支持对象模型,并弄清楚如何将对象模型映射到关系模型。这就是为什么它被称为对象到关系映射(ORM),而不是关系到对象的映射。
永远不要让数据模型驱动您的对象模型。