按照提示应该是缺少 javassist可是我已经添加了而且还试了好几次,我发现问题在于我的数据库中有两张表,员工表里面有个dno是指向部门表的did,我只要往dno里面写编号启动就会报错,如果我删掉dno的编号使其null,则可以正常启动显示分页查询,不知道该怎么解决啊
这是员工表employee.hbm.xml
<id name="eid" column="eid">
<generator class="native"></generator>
</id>
<property name="ename" column="ename" length="20"/>
<property name="sex" column="sex" length="10"/> <property name="eno" column="eno" length="20"/>
<property name="username" column="username" length="20"/>
<property name="password" column="password" length="20"/>
<!-- 关联关系映射 -->
<many-to-one name="department" class="org.cyk.employee.domain.Department" column="dno"></many-to-one>
</class>这是部门表
<id name="did" column="did">
<generator class="native"></generator>
</id>
<property name="dname" column="dname" length="20">
</property>
<property name="ddesc" column="ddesc" length="100">
</property>
<!-- 关联关系映射 -->
<set name="employees">
<key column="dno"/>
<one-to-many class="org.cyk.employee.domain.Employee"/>
</set>spring配置文件 <!-- 配置Hibernate 的常用属性 -->
<property name="hibernateProperties">
<props>
<!-- 数据库的方言 -->
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>org/cyk/employee/domain/Department.hbm.xml</value>
<value>org/cyk/employee/domain/Employee.hbm.xml</value>
</list>启动tomcat可以正常在数据库创建两张表使dno为null时增删改查功能均正常,但是一写值就报错,到底是什么问题T T
这是网页上报错信息
HTTP Status 500 - Method "findAll" failed for object org.cyk.employee.action.EmployeeAction@586ee85ctype Exception reportmessage Method "findAll" failed for object org.cyk.employee.action.EmployeeAction@586ee85cdescription The server encountered an internal error that prevented it from fulfilling this request.exceptionognl.MethodFailedException: Method "findAll" failed for object org.cyk.employee.action.EmployeeAction@586ee85c [java.lang.NoClassDefFoundError: javassist/util/proxy/Proxy
这是员工表employee.hbm.xml
<id name="eid" column="eid">
<generator class="native"></generator>
</id>
<property name="ename" column="ename" length="20"/>
<property name="sex" column="sex" length="10"/> <property name="eno" column="eno" length="20"/>
<property name="username" column="username" length="20"/>
<property name="password" column="password" length="20"/>
<!-- 关联关系映射 -->
<many-to-one name="department" class="org.cyk.employee.domain.Department" column="dno"></many-to-one>
</class>这是部门表
<id name="did" column="did">
<generator class="native"></generator>
</id>
<property name="dname" column="dname" length="20">
</property>
<property name="ddesc" column="ddesc" length="100">
</property>
<!-- 关联关系映射 -->
<set name="employees">
<key column="dno"/>
<one-to-many class="org.cyk.employee.domain.Employee"/>
</set>spring配置文件 <!-- 配置Hibernate 的常用属性 -->
<property name="hibernateProperties">
<props>
<!-- 数据库的方言 -->
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>org/cyk/employee/domain/Department.hbm.xml</value>
<value>org/cyk/employee/domain/Employee.hbm.xml</value>
</list>启动tomcat可以正常在数据库创建两张表使dno为null时增删改查功能均正常,但是一写值就报错,到底是什么问题T T
这是网页上报错信息
HTTP Status 500 - Method "findAll" failed for object org.cyk.employee.action.EmployeeAction@586ee85ctype Exception reportmessage Method "findAll" failed for object org.cyk.employee.action.EmployeeAction@586ee85cdescription The server encountered an internal error that prevented it from fulfilling this request.exceptionognl.MethodFailedException: Method "findAll" failed for object org.cyk.employee.action.EmployeeAction@586ee85c [java.lang.NoClassDefFoundError: javassist/util/proxy/Proxy
有啊 会不会是我的hql语句的问题啊?
@Override
public int findCount() {
String hql="select count(*) from Employee";
Session session= sessionFactory.openSession();
Query query=session.createQuery(hql);
List<Long> list = query.list();
if(list==null||list.size()==0){
return 0;
}
session.close();
return list.get(0).intValue();
}
@Override
public List<Employee> findByPage(int begin, int pageSize) {
Session session=sessionFactory.openSession();
Query query=session.createQuery("from Employee");
query.setFirstResult(begin);
query.setMaxResults(pageSize);
List<Employee> list=query.list();
session.close();
return list;