休眠工作流程

时间:2009-08-26 14:51:43

标签: java hibernate

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

我对该怎么做感到困惑。我应该

  • 在类中创建我的sql表,让Hibernate使它们成为
  • 或者在中创建表格 数据库和逆向工程它和 让hibernate创建我的类吗?

我从某人那里听到了第一个选项,并在Netbeans网站上阅读了第二个选项。

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

4 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:1)

我相信你也可以做到,所以这取决于偏好。

就个人而言,我手工编写了这本书。虽然Hibernate在为您创建数据库方面做得很合理,但它并没有像我自己那样做。我假设它生成的Java类也是如此,尽管我从未使用过该功能。

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

答案 2 :(得分:0)

绝对编写java对象,然后添加持久性,让hibernate生成表。

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

答案 3 :(得分:0)

我赞成先写Java。但这可能是个人偏好。

如果您分析您的域名,您可能会发现它们有些重复。

  • 例如,审核列(用户创建者和编辑者,创建和编辑的时间)通常对大多数表是通用的。
  • id通常是一个常见字段。

查看您的域名以查看您的重复内容。

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

  • 更少的时间:你写的东西要少得多,
  • 逻辑:相同的逻辑字段将被写入一次(这将是许多类似的字段)
  • 重用:在您的实体的客户端代码中,您可以编写可重用的代码。例如,如果你的所有实体由于它们的超类而具有相同的名为ident的id字段,则客户端代码可以使通用调用object.getIdent()而不必找出对象的确切类,因此它将更可重用