hibernate 非主键的关联 HQL查询取到的对象中的对象属性为空 求解

liang_ljl 2013-12-04 09:39:59
InputSub.java

public class InputSub implements Serializable {

private Integer id;
private String telephone;
private String epno; //关联GisEpstat Entity的字段
private String simno;
private Integer inputEpId;
private InputEp inputEp;
private String onlineType;
private String onlineTime;

private InputEp inputep;
private GisEpstat gisepstat; //定义GisEpstat
getter/setter
}

InputSub.hbm.xml

<hibernate-mapping>
<class name="com.agric.common.entity.InputSub" table="input_sub" catalog="antongdb">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="identity" />
</id>
.
.
.
<property name="epno" type="java.lang.String">
<column name="epno">
</column>
</property>

<many-to-one name="inputep" class="com.agric.common.entity.InputEp" fetch="select" insert="false" update="false" lazy="false">
<column name="inputEp_id" ></column>
</many-to-one>
<!--关联配置-->
<many-to-one name="gisepstat" class="com.agric.common.entity.GisEpstat" fetch="select" lazy="false" property-ref="epid" insert="false" update="false">
<column name="epno"></column>
</many-to-one>

</class>
</hibernate-mapping>


GisEpstat.java

public class GisEpstat implements java.io.Serializable {

private static final long serialVersionUID = 1L;
private Integer id;
private String epid;
getter/setter
}

GisEpstat.hbm.xml

<hibernate-mapping>
<class name="com.agric.common.entity.GisEpstat" table="gis_epstat">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="identity" />
</id>
<property name="epid" type="java.lang.String">
<column name="epid" length="20" not-null="true" unique="true" />
</property>
</class>
</hibernate-mapping>

InputDao.java 查询

public List<InputSub> getSelect(){
...
try {
listsub = super.getByPage(hql, page, pageSize);

} catch (Exception ex) {
ex.printStackTrace();
System.out.println("根据条件获取农机信息出现错误!");
}

if(gps==null){

for(int i=listsub.size()-1;i>=0;i--){
System.out.println(listsub.get(i).getGisepstat()==null);
System.out.println(listsub.get(i).getGisepstat());

if(listsub.get(i).getGisepstat()==null){
listsub.remove(i);
}else{
System.out.println("---"+listsub.get(i).getGisepstat());
}

}
}
...
}

listsub 都有值,但是listsub.get(i).getGisepstat()是空的,解解,帮看看配置文件是否有问题
...全文
327 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
颖辉小居 2015-12-30
  • 打赏
  • 举报
回复
String hql = "from Person as p where p.user.* is null";
liang_ljl 2013-12-05
  • 打赏
  • 举报
回复
有人木有啊,亲们 在线等结果啊
liang_ljl 2013-12-05
  • 打赏
  • 举报
回复
求大神解答,人呢,有木有啊.....
liang_ljl 2013-12-04
  • 打赏
  • 举报
回复
求大神解答.....
liang_ljl 2013-12-04
  • 打赏
  • 举报
回复
引用 2 楼 jsynzzp 的回复:
什么叫非主键的关联?epno不是GisEpstat的主键?
不是他的主键
-妖孽 2013-12-04
  • 打赏
  • 举报
回复
什么叫非主键的关联?epno不是GisEpstat的主键?

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧