没有主键的表查询返回为null

syeia 2010-06-29 03:31:31
ele_mon_extrema 没有主键

EleMonExtrema.hbm.xml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="cn.net.ssd.sprt.model.EleMonExtrema" table="ELE_MON_EXTREMA" schema="OBSERVE">
<comment>历史月极值</comment>
<composite-id name="id" class="cn.net.ssd.sprt.model.EleMonExtremaId">
<key-property name="stano" column="STANO" type="java.lang.String">
</key-property>
<key-property name="vmon" column="VMON" type="java.lang.Byte">
</key-property>
</composite-id>

<property name="maxTotalRain" type="java.lang.Double">
<column name="MAX_TOTAL_RAIN" precision="10" scale="4" />
</property>
<property name="maxTotalRainYear" type="java.lang.String">
<column name="MAX_TOTAL_RAIN_YEAR" length="500" />
</property>
<property name="minTotalRain" type="java.lang.Double">
<column name="MIN_TOTAL_RAIN" precision="10" scale="4" />
</property>
<property name="minTotalRainYear" type="java.lang.String">
<column name="MIN_TOTAL_RAIN_YEAR" length="500" />
</property>
<property name="maxDayRain" type="java.lang.Double">
<column name="MAX_DAY_RAIN" precision="10" scale="4" />
</property>
<property name="maxDayRainYear" type="java.lang.String">
<column name="MAX_DAY_RAIN_YEAR" length="500" />
</property>
<property name="minDayRain" type="java.lang.Double">
<column name="MIN_DAY_RAIN" precision="10" scale="4" />
</property>
<property name="minDayRainYear" type="java.lang.String">
<column name="MIN_DAY_RAIN_YEAR" length="500" />
</property>
<property name="maxAvgmaxTemp" type="java.lang.Double">
<column name="MAX_AVGMAX_TEMP" precision="10" scale="4" />
</property>
<property name="maxAvgmaxTempYear" type="java.lang.String">
<column name="MAX_AVGMAX_TEMP_YEAR" length="500" />
</property>
<property name="minAvgmaxTemp" type="java.lang.Double">
<column name="MIN_AVGMAX_TEMP" precision="10" scale="4" />
</property>
<property name="minAvgmaxTempYear" type="java.lang.String">
<column name="MIN_AVGMAX_TEMP_YEAR" length="500" />
</property>
<property name="maxAvgminTemp" type="java.lang.Double">
<column name="MAX_AVGMIN_TEMP" precision="10" scale="4" />
</property>
<property name="maxAvgminTempYear" type="java.lang.String">
<column name="MAX_AVGMIN_TEMP_YEAR" length="500" />
</property>
<property name="minAvgminTemp" type="java.lang.Double">
<column name="MIN_AVGMIN_TEMP" precision="10" scale="4" />
</property>
<property name="minAvgminTempYear" type="java.lang.String">
<column name="MIN_AVGMIN_TEMP_YEAR" length="500" />
</property>
<property name="maxMaxTemp" type="java.lang.Double">
<column name="MAX_MAX_TEMP" precision="10" scale="4" />
</property>
<property name="maxMaxTempYear" type="java.lang.String">
<column name="MAX_MAX_TEMP_YEAR" length="500" />
</property>
<property name="minMaxTemp" type="java.lang.Double">
<column name="MIN_MAX_TEMP" precision="10" scale="4" />
</property>
<property name="minMaxTempYear" type="java.lang.String">
<column name="MIN_MAX_TEMP_YEAR" length="500" />
</property>
<property name="maxMinTemp" type="java.lang.Double">
<column name="MAX_MIN_TEMP" precision="10" scale="4" />
</property>
<property name="maxMinTempYear" type="java.lang.String">
<column name="MAX_MIN_TEMP_YEAR" length="500" />
</property>
<property name="minMinTemp" type="java.lang.Double">
<column name="MIN_MIN_TEMP" precision="10" scale="4" />
</property>
<property name="minMinTempYear" type="java.lang.String">
<column name="MIN_MIN_TEMP_YEAR" length="500" />
</property>
<property name="maxAvgTemp" type="java.lang.Double">
<column name="MAX_AVG_TEMP" precision="10" scale="4" />
</property>
<property name="maxAvgTempYear" type="java.lang.String">
<column name="MAX_AVG_TEMP_YEAR" length="500" />
</property>
<property name="minAvgTemp" type="java.lang.Double">
<column name="MIN_AVG_TEMP" precision="10" scale="4" />
</property>
<property name="minAvgTempYear" type="java.lang.String">
<column name="MIN_AVG_TEMP_YEAR" length="500" />
</property>
</class>
</hibernate-mapping>

EleMonExtremaId.java
public class EleMonExtremaId implements java.io.Serializable {
private String stano;
private Byte vmon;
public EleMonExtremaId() {
}
public EleMonExtremaId(String stano, Byte vmon) {
this.stano = stano;
this.vmon = vmon;
}
public String getStano() {
return this.stano;
}

public void setStano(String stano) {
this.stano = stano;
}
public Byte getVmon() {
return this.vmon;
}
public void setVmon(Byte vmon) {
this.vmon = vmon;
}
public boolean equals(Object other) {
if ((this == other))
return true;
if ((other == null))
return false;
if (!(other instanceof EleMonExtremaId))
return false;
EleMonExtremaId castOther = (EleMonExtremaId) other;

return ((this.getStano() == castOther.getStano()) || (this.getStano() != null
&& castOther.getStano() != null && this.getStano().equals(
castOther.getStano())))
&& ((this.getVmon() == castOther.getVmon()) || (this.getVmon() != null
&& castOther.getVmon() != null && this.getVmon()
.equals(castOther.getVmon())));
}
public int hashCode() {
int result = 17;
result = 37 * result
+ (getStano() == null ? 0 : this.getStano().hashCode());
result = 37 * result
+ (getVmon() == null ? 0 : this.getVmon().hashCode());
return result;
}

}








...全文
80 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
howsun_zh 2010-06-30
  • 打赏
  • 举报
回复
在EleMonExtrema类中重写hashCode()和equals()方法试试
syeia 2010-06-29
  • 打赏
  • 举报
回复
getHibernateTemplate().find("from EleMonExtrema");

对,楼上说的对,写错了。

但 是 就是放回的list中都是空。

如果用sql直接检索,是有值的。

happyfmy 2010-06-29
  • 打赏
  • 举报
回复
getHibernateTemplate().find("from ele_mon_extrema");

from应该是from EleMonExtrema
syeia 2010-06-29
  • 打赏
  • 举报
回复
基本上没有完了。

看网上弄的, 但就出不来数据。
之所以 STANO 和 vmon 定义成主键,其他值有可能为空。

你认为确东西?




  • 打赏
  • 举报
回复
有没其他信息呢?比如加了主键后的情况?
syeia 2010-06-29
  • 打赏
  • 举报
回复
EleMonExtrema.java

package cn.net.ssd.sprt.model;

/**
* EleMonExtrema entity. @author MyEclipse Persistence Tools
*/

public class EleMonExtrema implements java.io.Serializable {

// Fields

private EleMonExtremaId id;

// Constructors

/** default constructor */
public EleMonExtrema() {
}

/** full constructor */
public EleMonExtrema(EleMonExtremaId id) {
this.id = id;
}

public EleMonExtremaId getId() {
return this.id;
}

public void setId(EleMonExtremaId id) {
this.id = id;
}

private Double maxTotalRain;
private String maxTotalRainYear;
private Double minTotalRain;
private String minTotalRainYear;
private Double maxDayRain;
private String maxDayRainYear;
private Double minDayRain;
private String minDayRainYear;
private Double maxAvgmaxTemp;
private String maxAvgmaxTempYear;
private Double minAvgmaxTemp;
private String minAvgmaxTempYear;
private Double maxAvgminTemp;
private String maxAvgminTempYear;
private Double minAvgminTemp;
private String minAvgminTempYear;
private Double maxMaxTemp;
private String maxMaxTempYear;
private Double minMaxTemp;
private String minMaxTempYear;
private Double maxMinTemp;
private String maxMinTempYear;
private Double minMinTemp;
private String minMinTempYear;
private Double maxAvgTemp;


public Double getMaxTotalRain() {
return maxTotalRain;
}

public void setMaxTotalRain(Double maxTotalRain) {
this.maxTotalRain = maxTotalRain;
}

public String getMaxTotalRainYear() {
return maxTotalRainYear;
}

public void setMaxTotalRainYear(String maxTotalRainYear) {
this.maxTotalRainYear = maxTotalRainYear;
}

public Double getMinTotalRain() {
return minTotalRain;
}

public void setMinTotalRain(Double minTotalRain) {
this.minTotalRain = minTotalRain;
}

public String getMinTotalRainYear() {
return minTotalRainYear;
}

public void setMinTotalRainYear(String minTotalRainYear) {
this.minTotalRainYear = minTotalRainYear;
}

public Double getMaxDayRain() {
return maxDayRain;
}

public void setMaxDayRain(Double maxDayRain) {
this.maxDayRain = maxDayRain;
}

public String getMaxDayRainYear() {
return maxDayRainYear;
}

public void setMaxDayRainYear(String maxDayRainYear) {
this.maxDayRainYear = maxDayRainYear;
}

public Double getMinDayRain() {
return minDayRain;
}

public void setMinDayRain(Double minDayRain) {
this.minDayRain = minDayRain;
}

public String getMinDayRainYear() {
return minDayRainYear;
}

public void setMinDayRainYear(String minDayRainYear) {
this.minDayRainYear = minDayRainYear;
}

public Double getMaxAvgmaxTemp() {
return maxAvgmaxTemp;
}

public void setMaxAvgmaxTemp(Double maxAvgmaxTemp) {
this.maxAvgmaxTemp = maxAvgmaxTemp;
}

public String getMaxAvgmaxTempYear() {
return maxAvgmaxTempYear;
}

public void setMaxAvgmaxTempYear(String maxAvgmaxTempYear) {
this.maxAvgmaxTempYear = maxAvgmaxTempYear;
}

public Double getMinAvgmaxTemp() {
return minAvgmaxTemp;
}

public void setMinAvgmaxTemp(Double minAvgmaxTemp) {
this.minAvgmaxTemp = minAvgmaxTemp;
}

public String getMinAvgmaxTempYear() {
return minAvgmaxTempYear;
}

public void setMinAvgmaxTempYear(String minAvgmaxTempYear) {
this.minAvgmaxTempYear = minAvgmaxTempYear;
}

public Double getMaxAvgminTemp() {
return maxAvgminTemp;
}

public void setMaxAvgminTemp(Double maxAvgminTemp) {
this.maxAvgminTemp = maxAvgminTemp;
}

public String getMaxAvgminTempYear() {
return maxAvgminTempYear;
}

public void setMaxAvgminTempYear(String maxAvgminTempYear) {
this.maxAvgminTempYear = maxAvgminTempYear;
}

public Double getMinAvgminTemp() {
return minAvgminTemp;
}

public void setMinAvgminTemp(Double minAvgminTemp) {
this.minAvgminTemp = minAvgminTemp;
}

public String getMinAvgminTempYear() {
return minAvgminTempYear;
}

public void setMinAvgminTempYear(String minAvgminTempYear) {
this.minAvgminTempYear = minAvgminTempYear;
}

public Double getMaxMaxTemp() {
return maxMaxTemp;
}

public void setMaxMaxTemp(Double maxMaxTemp) {
this.maxMaxTemp = maxMaxTemp;
}

public String getMaxMaxTempYear() {
return maxMaxTempYear;
}

public void setMaxMaxTempYear(String maxMaxTempYear) {
this.maxMaxTempYear = maxMaxTempYear;
}

public Double getMinMaxTemp() {
return minMaxTemp;
}

public void setMinMaxTemp(Double minMaxTemp) {
this.minMaxTemp = minMaxTemp;
}

public String getMinMaxTempYear() {
return minMaxTempYear;
}

public void setMinMaxTempYear(String minMaxTempYear) {
this.minMaxTempYear = minMaxTempYear;
}

public Double getMaxMinTemp() {
return maxMinTemp;
}

public void setMaxMinTemp(Double maxMinTemp) {
this.maxMinTemp = maxMinTemp;
}

public String getMaxMinTempYear() {
return maxMinTempYear;
}

public void setMaxMinTempYear(String maxMinTempYear) {
this.maxMinTempYear = maxMinTempYear;
}

public Double getMinMinTemp() {
return minMinTemp;
}

public void setMinMinTemp(Double minMinTemp) {
this.minMinTemp = minMinTemp;
}

public String getMinMinTempYear() {
return minMinTempYear;
}

public void setMinMinTempYear(String minMinTempYear) {
this.minMinTempYear = minMinTempYear;
}

public Double getMaxAvgTemp() {
return maxAvgTemp;
}

public void setMaxAvgTemp(Double maxAvgTemp) {
this.maxAvgTemp = maxAvgTemp;
}

public String getMaxAvgTempYear() {
return maxAvgTempYear;
}

public void setMaxAvgTempYear(String maxAvgTempYear) {
this.maxAvgTempYear = maxAvgTempYear;
}

public Double getMinAvgTemp() {
return minAvgTemp;
}

public void setMinAvgTemp(Double minAvgTemp) {
this.minAvgTemp = minAvgTemp;
}

public String getMinAvgTempYear() {
return minAvgTempYear;
}

public void setMinAvgTempYear(String minAvgTempYear) {
this.minAvgTempYear = minAvgTempYear;
}

private String maxAvgTempYear;
private Double minAvgTemp;
private String minAvgTempYear;


}

执行 XXX.getHibernateTemplate().find("from ele_mon_extrema");

返回的List 中对象都是null, 为什么?急

67,512

社区成员

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

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