1. 使用UserLibrary导入jar包时,启动项目报ClassNotFound异常,原因是没添加到tomcat下,需在项目下 -> Properties ->Deployment Assembly去添加才行
也可以把全部的jar包放到lib下,只是这样比较麻烦。
2. 另外spring-orm包里面已经有mysql驱动包,所以加入hibernate包时应该把mysql驱动包去掉。
3.这是网上一哥们的错误,和我的一样。
使用懒加载获取数据时,在EmployeeService中加入JavassistEnhancement failed
org.hibernate.event.internal.DefaultLoadEventListeneronLoad
INFO: HHH000327: Error performingload command : org.hibernate.HibernateException: Javassist Enhancement failed:com.spri.entity.User
报错原因是在User当中显示的写了一个构造方法,把原来默认的构造方法给覆盖了。这里用到了hibernate的持久化,那么为什么它的持久化需要一个无参的构造方法呢,原因是Hibernate的实现持久化的机制是反射,它在反射的时候,需要调用newInstance(),这个方法就是通过调用默认构造方法来创建实例对象的。在本例中自己写了一个有参的构造方法,把原来默认的构造方法覆盖了,而原来默认的方法是无参的,所以需要再显示构造一个无参数的构造方法。
解决办法:在User当中添加一个无参的构造方法。
4. 关于myeclipse2014 debug工具条消失
解决方式其实很简单,在debug view右上角有个道理的三角,点开后有个Show Debug Toolbar。选上就可以了。
5. Unable to get the default Bean Validation factory
配置好了jar包却出这样的错误,原以为只是包冲突,没相当是bean-base.xml出现了问题
要在配置文件加一行这个
<!-- b.hibernate常用的配置:方言、显示 sql、自动建表 -->
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
<prop key="hibernate.show_sql">true</prop>
<propkey="javax.persistence.validation.mode">none</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
原因是:
出处: http://blog.163.com/guomaolin_gavin/blog/static/199618307201111197542905/
其实这个问题是我们自己造成的!为什么这么说?因为我们在配置Spring和Hibernate进行结合的时候版本出现了问题。
<persistence ...>
<persistence-unit ...>
...
<properties>
<property name="javax.persistence.validation.mode"
value="callback, ddl"/>
</properties>
</persistence-unit>
</persistence>
这是hibernate官方文档的一段话!
意思就是在hibernate.cfg.xml或者是
persistence.xml文件下面需要配置
javax.persistence.validation.mode属性!
特别的!在Hibernate中默认的
是auto而不是none!
以下是我的jar包,不同版本jar包不一样