Hibenate 1对1关系查询迷惑,请大侠们指点

小弟在项目中使用Hibernate的一对一关系,见.hbm文件如下:
class AcirsUser


<hibernate-mapping>
<class name="uk.co.quidos.acirs.model.entity.AcirsUser" table="acirs_user" catalog="acirs_v1" lazy="false">
<id name="userId" type="java.lang.String">
<column name="user_id" length="32" />
<generator class="uuid.hex" />
</id>
<property name="userName" type="java.lang.String">
<column name="user_name" length="32" not-null="true" />
</property>
<property name="userPwd" type="java.lang.String">
<column name="user_pwd" length="32" />
</property>
<property name="status" type="java.lang.Integer">
<column name="status" not-null="true" />
</property>

<one-to-one name="adminInfo" class="uk.co.quidos.acirs.model.entity.AdminInfo" fetch="join"/>
<one-to-one name="eaInfo" class="uk.co.quidos.acirs.model.entity.EaInfo" fetch="join"/>

<set name="userRoleRels" inverse="true">
<key>
<column name="user_id" length="32" not-null="true" />
</key>
<one-to-many class="uk.co.quidos.acirs.model.entity.UserRoleRel" />
</set>
<set name="preForms" inverse="true">
<key>
<column name="user_id" length="32" unique="true" />
</key>
<one-to-many class="uk.co.quidos.acirs.model.entity.PreForm" />
</set>
</class>
</hibernate-mapping>


class EaInfo:

<hibernate-mapping>
<class name="uk.co.quidos.acirs.model.entity.EaInfo" table="ea_info" catalog="acirs_v1" lazy="false">
<id name="userId" type="java.lang.String">
<column name="user_id" length="32" />
<generator class="foreign">
<param name="property">acirsUser</param>
</generator>
</id>

<one-to-one name="acirsUser" class="uk.co.quidos.acirs.model.entity.AcirsUser" constrained="true"/>

<many-to-one name="city" class="uk.co.quidos.acirs.model.entity.City" fetch="select">
<column name="city_id" length="32" not-null="true" unique="true" />
</many-to-one>
<many-to-one name="qualifications" class="uk.co.quidos.acirs.model.entity.Qualifications" fetch="select">
<column name="qualification_id" length="32" not-null="true" unique="true" />
</many-to-one>
<many-to-one name="title" class="uk.co.quidos.acirs.model.entity.Title" fetch="select">
<column name="title_id" length="32" not-null="true" unique="true" />
</many-to-one>
<property name="firstName" type="java.lang.String">
<column name="first_name" length="64" />
</property>
<property name="surName" type="java.lang.String">
<column name="sur_name" length="64" />
</property>
<property name="accreditationScheme" type="java.lang.String">
<column name="accreditation_scheme" length="128" />
</property>
<property name="tel" type="java.lang.String">
<column name="tel" length="128" />
</property>
<property name="email" type="java.lang.String">
<column name="email" length="128" />
</property>
<property name="companyName" type="java.lang.String">
<column name="company_name" length="128" />
</property>
<property name="address1" type="java.lang.String">
<column name="address1" length="128" />
</property>
<property name="address2" type="java.lang.String">
<column name="address2" length="128" />
</property>
<property name="address3" type="java.lang.String">
<column name="address3" length="128" />
</property>
<property name="postCode" type="java.lang.String">
<column name="post_code" length="64" />
</property>
<property name="relatedPartyDisclosure" type="java.lang.String">
<column name="related_party_disclosure" length="10" />
</property>
</class>
</hibernate-mapping>



查询方式2种:
如果使用

select
acirsUser,eaInfo
from AcirsUser as acirsUser
inner join
acirsUser.eaInfo as eaInfo

这种方式查询,查询查来的eaInfo项就不为空,而且数据正确

如果使用new map()方式:

select
new map(acirsUser,eaInfo)
from AcirsUser as acirsUser
inner join
acirsUser.eaInfo as eaInfo

如果使用new map方式查询出来的eaInfo就为null

比较迷惑,请兄弟姐妹们指点,谢谢 ……
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值