Hibernate <generator> confusion </generator>

时间:2010-12-03 19:33:59

标签: java mysql database hibernate postgresql

我已经阅读了几个关于hibernate的教程。我仍然感到困惑。如果关联,生成器是否会发生变化。有人可以根据他们使用此方法的经验来解释,因为这是我所有问题的来源,例如违规行为。

1 个答案:

答案 0 :(得分:1)

如果我正确理解你的问题,你会问,什么是生成器以及它们如何与关联一起使用?

第一个答案很简单:生成器定义了一个为对象分配ID的策略。

第二个答案是:取决于你如何建立你的人际关系。例如,查看基于主键的唯一一对一文档

http://docs.jboss.org/hibernate/core/3.5/reference/en/html/mapping.html#mapping-declaration-onetoone

这里将一边的生成器类设置为'foreign',这是一种特殊情况,因为两个表共享相同的id。

注意另一个一对一的例子,在这种情况下,没有在关系的一侧分配生成器。

如果您遇到持久性问题,我建议使用以下2项

  1. 仅为您的DAO编写集成测试。如果您没有DAO,请创建它们以确保所有这些代码都在一个位置。
  2. 仔细查看hibernate附带的示例代码和测试。这段代码非常有启发性。