我正在阅读休眠参考,它们是休眠中的两个元素:<join><any>
. 看完后,不知道参考资料在说什么。
我不明白什么时候使用join/any,它们适合什么样的场景?<join/>:设置“fetch”时,hibernate什么时候用inner join,什么时候用outer join,什么时候用select?哪些表使用了哪些列?对于提供的示例休眠参考,它说: <join table="ADDRESS"> <key column="ADDRESS_ID"/> <property name="address"/> <property name="zip"/> <property name= "country"/> </join>,那么用哪一列来连接这两个表呢?
当为 <join> 设置 fetch 时,它说: fetch (optional - defaults to join): 如果设置为 join,默认情况下,Hibernate 将使用内部连接来检索由类定义的 <join>(我的问题:有人会请给我一个例子说:哪个是这个类?)或其超类((我的问题:有人可以给我一个例子说:哪个是这个类?))和一个由定义的 <join> 的外连接一个子类((我的问题:有人可以给我举个例子说:这是这个类吗?))。如果设置为选择,那么 Hibernate 将对子类上定义的 <join> 使用顺序选择((我的问题:有人可以给我举个例子说:这是这个类吗?)),只有在行原来代表子类的一个实例((我的问题:有人可以给我举个例子说:这门课是什么?))。内部连接仍将用于检索由类及其超类定义的((我的问题:有人可以给我举个例子说:这是哪个类?))。
换句话说,我想知道下面所说的所有类是什么: fetch (optional - defaults to join): 如果设置为 join,默认情况下,Hibernate 将使用内部连接来检索由类定义的 <join> 或它的超类和由子类定义的 <join> 的外连接。如果设置为选择,那么 Hibernate 将对子类上定义的 <join> 使用顺序选择,只有当一行结果代表子类的实例时才会发出。内部连接仍将用于检索由类及其超类定义的 <join>。
对于<any>,它适合什么样的场景?你能解释一下它是如何工作的吗?有没有人提供例子并向我解释?谢谢。