我的本来意思是想执行一个HIBERNATE联合查询,我认定下面这个联合查询为多对一,有人说帮我指定下为一对一。
但是我想问大家1对1的HQL查询该怎么写呢???如果可以希望能留下QQ帮忙下,我QQ95685263
这问题搞了我一下午了,我的HQL语句是String hql = "FROM RoleVO as a left join a.userRoleVO as b where b.userID=?" 可是程序老认不到这个a.userRoleVO 于是我在VO配置文件中配置:
RoleVO.hbm.xml
<id>
<many-to-one name="UserRoleVO" class="com.shili2.vo.UserRoleVO"
fetch="select">
<column name="roleID" />
</many-to-one> 这个RoleID是这个RoleVO的主健,
在UserRoleVO中配置成这样,
<property name="roleID" type="java.lang.String" update="false" insert="false">
<column name="roleID" length="50" />
</property>
<set name="role" inverse="true" table="role">
<key>
<column name="roleID" />
</key>
<one-to-many class="com.shili2.vo.RoleVO" />
</set> 它老是报org.hibernate.MappingException: Repeated column in mapping for entity: com.shili2.vo.RoleVO column: roleID (should be mapped with insert="false" update="false")这个错。
我在UserRoleVO中已经配置了update="false" insert="false"为空了,它还是报这个错,难道我得到ROLEVO中把ROLEID这个主健也设为不能插入????????
表 role 属性roleID(主键) roleName roleCode 表userRole userROleID(主键) roleID(外键) userID
但是我想问大家1对1的HQL查询该怎么写呢???如果可以希望能留下QQ帮忙下,我QQ95685263
这问题搞了我一下午了,我的HQL语句是String hql = "FROM RoleVO as a left join a.userRoleVO as b where b.userID=?" 可是程序老认不到这个a.userRoleVO 于是我在VO配置文件中配置:
RoleVO.hbm.xml
<id>
<many-to-one name="UserRoleVO" class="com.shili2.vo.UserRoleVO"
fetch="select">
<column name="roleID" />
</many-to-one> 这个RoleID是这个RoleVO的主健,
在UserRoleVO中配置成这样,
<property name="roleID" type="java.lang.String" update="false" insert="false">
<column name="roleID" length="50" />
</property>
<set name="role" inverse="true" table="role">
<key>
<column name="roleID" />
</key>
<one-to-many class="com.shili2.vo.RoleVO" />
</set> 它老是报org.hibernate.MappingException: Repeated column in mapping for entity: com.shili2.vo.RoleVO column: roleID (should be mapped with insert="false" update="false")这个错。
我在UserRoleVO中已经配置了update="false" insert="false"为空了,它还是报这个错,难道我得到ROLEVO中把ROLEID这个主健也设为不能插入????????
表 role 属性roleID(主键) roleName roleCode 表userRole userROleID(主键) roleID(外键) userID
这里的U是不是应该小写
sort="natural" table="userRoles">
<key>
<column name="iUserId" not-null="true"/>
</key>
<many-to-many class="Role" column="iRoleId" unique="false"/>
</set>