我正想通過Hibernate文檔和文件說,休眠,需要我們所有的持久化類無參數的構造函數:Hibernate的無參數的構造函數
的無參數的構造是所有的持久 要求班; Hibernate必須使用Java 反射來爲您創建對象。構造函數可以是私有的,但是包或公開 運行時代理生成需要可見性,而沒有字節碼檢測的高效數據 。
但是,當我創建了一個示例程序進行測試通過創建無任何無參構造一個POJO類,並通過將一個構造函數的參數,我預計Hibernate會拋出一個異常,但我很驚訝地看到,我沒有得到例外。
這裏是我的POJO:
public class Event {
private Long id;
private String title;
public Event(String title) {}
public Long getId() {
return id;
}
private void setId(Long id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
這裏是我的程序:
import org.hibernate.Session;
import java.util.*;
import org.hibernate.tutorial.domain.Event;
import org.hibernate.tutorial.util.HibernateUtil;
public class EventManager {
public static void main(String[] args) {
EventManager mgr = new EventManager();
mgr.createAndStoreEvent("My Event", new Date());
HibernateUtil.getSessionFactory().close();
}
private void createAndStoreEvent(String title, Date theDate) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Event theEvent = new Event("");
theEvent.setTitle(title);
theEvent.setDate(theDate);
session.save(theEvent);
session.getTransaction().commit();
}
}
我也配置Hibernate配置和映射文件。現在我可以看到,當我執行這個程序時,新的記錄存儲在我的數據庫中。
我是Hibernate的新手,請幫助我理解hibernate文檔中給出的語句,因爲文檔說我們需要一個無參數構造函數。我正在使用Hibernate 3.x版本。
如果您嘗試從數據庫讀取對象,該怎麼辦? –