框架要用得多熟。纔不會出現莫名的靈異事件。
public class User { private int id; private Date cDate; public int getId() { return id; } public void setId(int id) { this.id = id; } public Date getCDate() { return cDate; } public void setCDate(Date date) { cDate = date; } }
就以上這麼一個簡單的實體類。下面的代碼是用eclipse的source->get,set來生成。你會發現對於private Date cDate的set 方法,傳入參數,竟然不是"cDate",居然是date。當然發現這個問題是由於這種寫法的實體Bean User一直映射不成功。隨後我發現"\wDate"形式的屬性,eclispe自動生成get,set construtor時,都會出問題。
這一靈異事件,或許表明着,"\wDate"這種形式,不允許用來作爲屬性。
另外,問一個朋友,我說,像User Bean這樣的實體所在的包,我不知道取啥包名。他說可以取model.結果改了。弄了一上午,一直報錯:
org.hibernate.hql.ast.QuerySyntaxException: User is not mapped
當然我是用hibernate annotation方式映射的。
<property name="packagesToScan">
<list>
<value>com.phone.orm</value>
</list>
</property>
我把包名改爲orm,就行了。。