Java 休眠工作流

Java 休眠工作流,java,hibernate,Java,Hibernate,我正试图用Hibernate编写一个程序。我的域现在已完成,我正在编写数据库 我不知道该怎么办。我应该吗 在类中创建我的sql表,并让Hibernate创建它们 或在中创建表 数据库和逆向工程it和 让冬眠让我上课 我从某人那里听到了第一个选项,并在Netbeans网站上阅读了第二个选项 有人知道哪种方法是正确的吗?这取决于您如何最好地概念化您正在编写的程序。在设计系统时,我通常考虑实体及其相互之间的关系,因此对我来说,我从业务对象开始,然后编写hibernate映射,让hibernate创

我正试图用Hibernate编写一个程序。我的域现在已完成,我正在编写数据库

我不知道该怎么办。我应该吗

  • 在类中创建我的sql表,并让Hibernate创建它们
  • 或在中创建表 数据库和逆向工程it和 让冬眠让我上课
我从某人那里听到了第一个选项,并在Netbeans网站上阅读了第二个选项


有人知道哪种方法是正确的吗?

这取决于您如何最好地概念化您正在编写的程序。在设计系统时,我通常考虑实体及其相互之间的关系,因此对我来说,我从业务对象开始,然后编写hibernate映射,让hibernate创建数据库


其他人能够更好地考虑数据库表,在这种情况下,这种方法最适合他们。所以,你必须根据自己的经验来决定哪一个适合你。

我相信你可以选择其中一个,所以这取决于你的偏好

就我个人而言,我是手写的。虽然Hibernate在为您创建数据库方面做得很好,但它没有我自己做得那么好。我假设它生成的Java类也是如此,尽管我从未使用过这个特性


关于生成的类(如果您选择了类生成路线),我打赌每个字段都有一个getter/setter字段是否应该是只读的(有人说过线程安全和可变的吗)您不能添加行为,因为如果您重新生成类,它会被覆盖。

一定要编写java对象,然后添加持久性并让hibernate生成表


如果你走另一条路,你就会失去OOD的好处和所有好东西。

我赞成先编写Java。不过,这可能是个人的偏好

如果你分析你的领域,你可能会发现它们有些重复

  • 例如,审核列(用户创建者和编辑器、创建和编辑的时间)通常是大多数表所共有的
  • id通常是一个公共字段
查看您的域以查看您的副本

复制是一个重用的机会。 您可以使用继承或组合。 优点:

  • 更少的时间:你将有更少的东西要写
  • 逻辑:同一个逻辑字段将被写入一次(也就是说,其他字段可能会有许多类似的字段)
  • 重用:在实体的客户机代码中,您可以编写可重用代码。例如,如果您的所有实体由于其超类而具有名为ident的相同id字段,则客户端代码可以生成泛型调用object.getIdent(),而无需找出对象的确切类,因此它将更易于重用

当然,如果您是从零开始,我会让hibernate来完成这项工作。我很懒惰:)我曾经听说懒惰的程序员通常是最棒的LOLPlus当你还是新手时,幕后发生的“魔法”越少越好,手工做每件事都会让你更好地理解整个过程。