我的 MYSQL 数据库中有一个表,它没有主键,但在两列上有一个唯一键。当使用 MyEclipse 的 Hibernate 逆向工程工具为该表创建映射时,它会生成两个类,一个以表本身命名,一个带有“Id”后缀。似乎大多数有用的方法都在 Id 类中结束,所以这似乎是您要实例化并保存以持久保存数据的方法。我可以理解创建 Id 类是为了表示表/映射对象中的唯一行这一事实,但是将其拆分为两个类有什么用,然后是非 Id 的使用-后缀类?
我的同事认为你可以只用一个类来完成同样的事情,并且 mock 对这些没有主键的表使用逆向工程。另一方面,我假设 MyEclipse 开发人员比我聪明得多,并且有充分的理由这样做。有吗?
最佳答案
你想太多了我的 friend 。这些工具实际上并不是来自 MyEclipse 团队,而是来自 Hibernate Tools 项目(JBoss,Hibernate 的开发者)。
这是一个无法猜测所有内容的编程工具。它非常适合注释良好的简单内容,但有时,它不会生成您所需要的内容。
通常需要 id 类来表示复合主键(使用多个属性的键)。它使用组件类 Hibernate 的概念。
也可以稍微调整生成器选项。
你的情况,最好按照你同事说的去做。创建您自己的实体类。
关于mysql - 为什么 MyEclipse 的 Hibernate 逆向工程在映射某些表时会创建多个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/306722/