框架要用得多熟。才不会出现莫名的灵异事件。
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,就行了。。