我有这个映射
<class name="Person" table="person">
<id name="Id" column="id" type="Int32" unsaved-value="0">
<generator class="native" />
</id>
<property name="Code" column="code" type="String" not-null="true" />
<property name="FirstName" column="firstName" type="String" not-null="true" />
<property name="MiddleName" column="middleName" type="String" not-null="false" />
<property name="LastName" column="lastName" type="String" not-null="false" />
<join table="personPhoto" optional="true">
<key column="personId" />
<property name="Photo" column="pictureContent" not-null="false" />
</join>
并且生成的SQL总是使用左外连接,这是正确的。 但是,是否有可能告诉HQL只从person表中查询,因为我并不总是需要'Photo'属性?怎么样?
答案 0 :(得分:0)
person和personPhoto列之间是否存在一对一的关系?
如果您想懒洋洋地加载此人的照片,我相信您必须将连接映射更改为一对一映射并为personPhoto创建一个新类。这样Hibernate就能插入代理对象。