当使用Hibernate ORM时,我应该首先建模类图或DB图吗?

Rob*_*roj 10 java orm hibernate class

我是Java和Hibernate的新手.在工作中,我们正在使用Spring,Hibernate,JBOSS等开发一个中型的forWrocessing J2EE Web应用程序.使用Hibernate的正确方法是什么?我应该首先创建一个类图和使用hibernate到数据库表的映射,还是应该首先建模数据库表,然后将其映射到Hibernate实体?还是依赖?如果它取决于什么?这种方法中的任何一种方法都存在缺点吗?是否可以使用Hibernate 4将"任何"类图映射到数据库?

mal*_*ouk 6

两种方法都是正确的,但在不同情况下使用.

  1. 在创建新应用程序(新模型)时,首先要创建实体,然后让hibernate/JPA创建表格.它更简单,可能会生成更好的对象模型(因为您直接创建它).但是你仍然要记住,你正在创建数据库表,所以你也应该考虑数据库规范化等.
  2. 在映射某些遗留模式时,您将首先使用表格方法,您可以选择执行此操作.对象模型可能有点笨拙......

但我再说一遍,这两种方法都是有效的,如果你是比Java程序员更多的数据库工程师,你可能会做2)因为它可能更自然.我作为Java程序员做(几乎)总是1)...

你可以用两种方法得到相同的结果,你必须考虑一下,hibernate将为你生成什么......

  • 即使使用遗留数据库,您也需要花一些时间来考虑如何*建模*.然后查看您拥有的架构,看看您必须做出哪些牺牲.最后,检查有关添加视图和其他数据库结构的选项,以帮助您使用您想要使用的模型.不要让你的类模型镜像是一个糟糕的数据库模型,因为"就是这样". (2认同)