Java 休眠工作流
我正试图用Hibernate编写一个程序。我的域现在已完成,我正在编写数据库 我不知道该怎么办。我应该吗Java 休眠工作流,java,hibernate,Java,Hibernate,我正试图用Hibernate编写一个程序。我的域现在已完成,我正在编写数据库 我不知道该怎么办。我应该吗 在类中创建我的sql表,并让Hibernate创建它们 或在中创建表 数据库和逆向工程it和 让冬眠让我上课 我从某人那里听到了第一个选项,并在Netbeans网站上阅读了第二个选项 有人知道哪种方法是正确的吗?这取决于您如何最好地概念化您正在编写的程序。在设计系统时,我通常考虑实体及其相互之间的关系,因此对我来说,我从业务对象开始,然后编写hibernate映射,让hibernate创
- 在类中创建我的sql表,并让Hibernate创建它们
- 或在中创建表 数据库和逆向工程it和 让冬眠让我上课
有人知道哪种方法是正确的吗?这取决于您如何最好地概念化您正在编写的程序。在设计系统时,我通常考虑实体及其相互之间的关系,因此对我来说,我从业务对象开始,然后编写hibernate映射,让hibernate创建数据库
其他人能够更好地考虑数据库表,在这种情况下,这种方法最适合他们。所以,你必须根据自己的经验来决定哪一个适合你。我相信你可以选择其中一个,所以这取决于你的偏好 就我个人而言,我是手写的。虽然Hibernate在为您创建数据库方面做得很好,但它没有我自己做得那么好。我假设它生成的Java类也是如此,尽管我从未使用过这个特性
关于生成的类(如果您选择了类生成路线),我打赌每个字段都有一个getter/setter字段是否应该是只读的(有人说过线程安全和可变的吗)您不能添加行为,因为如果您重新生成类,它会被覆盖。一定要编写java对象,然后添加持久性并让hibernate生成表
如果你走另一条路,你就会失去OOD的好处和所有好东西。我赞成先编写Java。不过,这可能是个人的偏好 如果你分析你的领域,你可能会发现它们有些重复
- 例如,审核列(用户创建者和编辑器、创建和编辑的时间)通常是大多数表所共有的李>
- id通常是一个公共字段
- 更少的时间:你将有更少的东西要写
- 逻辑:同一个逻辑字段将被写入一次(也就是说,其他字段可能会有许多类似的字段)
- 重用:在实体的客户机代码中,您可以编写可重用代码。例如,如果您的所有实体由于其超类而具有名为ident的相同id字段,则客户端代码可以生成泛型调用object.getIdent(),而无需找出对象的确切类,因此它将更易于重用