這裏適當的構造是我的課:休眠:無法找到上
public class TrainLate {
private int id;
private Date startDate;
private Date endDate;
private Set<TrainSchedule> ts=new HashSet<TrainSchedule>();
public TrainLate(){}
public TrainLate(int id, Date startDate, Date endDate) {
super();
this.id = id;
this.startDate = startDate;
this.endDate = endDate;
}
// setters and getters...
}
類型日期爲java.sql.Date
在另一類我使用HQL:
String hql="SELECT new TrainLate(id,startDate,endDate) FROM TrainLate "+ "WHERE id="+String.valueOf(index);
其中index爲一個int參數。
這裏是 「TrainLate.hbm.xml」:
<class name="classes.TrainLate">
<id name="id">
<generator class="native"/>
</id>
<property name="startDate"/>
<property name="endDate"/>
<set name="ts" lazy="false" cascade="all-delete-orphan" inverse="true">
<key column="trainLateID" />
<one-to-many class="classes.TrainSchedule" />
</set>
</class>
這裏是個例外:
Unable to locate appropriate constructor on class [classes.TrainLate] [SELECT new TrainLate(id,startDate,endDate) FROM classes.TrainLate WHERE id=0]
其中, 「類別」 是軟件包的名稱。
我已經改變sql.Date到util.Date和類再出口到Oracle和在Oracle中,類型將是「解決了這個問題時間戳」。但是,如果我在java中使用sql.Date,那麼在導出之後,在oracle中輸入type將是「Date」,並且會出現上述異常。 – Frazer