2010-11-08 58 views

回答

2

那就让FK独特:

<many-to-one unique="true" /> 

或者,从回收侧:

<key> 
    <column unique="true"/> 
</key> 

(我省略了所有的属性不相关的问题)

+0

谢谢,迭戈。但是,我有点困惑。我的理解是,当一个对象可以被许多其他对象使用时,会发生“多对一”关系。不是“唯一=真实”与这种关系相矛盾吗? – Jacko 2010-11-08 19:11:45

+0

与唯一约束的多对一关系实际上是一对一的关系。不要读太多的名字。 – 2010-11-08 19:54:49

+0

非常感谢Diego。我问这个问题的原因是因为我试图为我的应用程序构建更智能的二级缓存。如果查询引用的表已更新,则默认实现会从缓存中清除查询。但是,我认为如果我更新至多一个其他实体所包含的实体,那么这个其他实体应该已经在实体缓存中,因此我可以在实体缓存中的实体的内存中重新运行查询,而不必再次点击数据库来更新查询。这听起来可行吗?我的应用程序是唯一一个更新数据库。 – Jacko 2010-11-08 20:21:15

相关问题