昨天到今天都犯了一个很笨蛋的错误,系统报
Caused by:
java.lang.NoClassDefFoundError: net/sf/hibernate/MappingException
at net.sf.hibernate.tool.hbm2java.Hbm2JavaTask.processFile(Hbm2JavaTask.java:145)
at net.sf.hibernate.tool.hbm2java.Hbm2JavaTask.execute(Hbm2JavaTask.java:93)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
at org.apache.tools.ant.Task.perform(Task.java:364)
at org.apache.tools.ant.Target.execute(Target.java:341)
at org.apache.tools.ant.Target.performTasks(Target.java:369)
我却一直找不到问题所在,直到发现没有把hibernate2.jar放到lib目录下面,在学习hibernate还犯这种错误,可见现在的心态是多么的浮躁啊。下不为例,耐心思考问题。
Hibernate使用Integer类型来声明ID,声明的原因是需要一个能说明一个实例是否已经存入数据库的值。没有被存入数据库的标志为null
而int类型的ID不能为null值,因此采用Integer来代替int。
2.1.8中*.hmm.xml中一个属性的meta注释只能在get方法之上作为java doc显示,相应属性的set方法没有任何注释。
hibernate可以支持不同的数据库的“方言”,net.sf.hibernate.dialect,并且可以扩展实现自己的方言.