我已经阅读了一些有关 hibernate 的教程。我仍然感到困惑。如果发生关联,生成器是否会发生变化。有人可以根据他们的经验很好地解释如何使用它,因为这是我所有问题(例如违规)的根源。
最佳答案
如果我正确理解你的问题,你是在问,什么是生成器以及它们如何与关联一起使用?
第一个答案很简单:生成器定义了为对象分配 id 的策略。
第二个答案是:取决于你如何建立人际关系。例如查看基于主键的唯一一对一的文档
http://docs.jboss.org/hibernate/core/3.5/reference/en/html/mapping.html#mapping-declaration-onetoone
这里一侧的生成器类设置为“foreign”,这是一种特殊情况,因为两个表共享相同的 id。
请注意另一个一对一的示例,在这种情况下,关系的一侧不会分配任何生成器。
如果您遇到持久性问题,我建议您执行以下 2 项操作
- 专门为您的 DAO 编写集成测试。如果您没有 DAO,请创建它们以确保所有这些代码都位于一处。
- 仔细查看 hibernate 附带的示例代码和测试。这段代码很有启发性。
关于java - Hibernate <generator> 混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4349199/