我现在有两张表,一个employee,一张evaluate,其中employee的emp_id是evaluate的外键,代码及配置文件如下:employee.java
package com.yinhai.giuzhou.employee.demo;import com.yinhai.giuzhou.evaluate.demo.Evaluate;public class Employee {
private int emp_id;
private String emp_name;
private String emp_sex;
private String emp_birth;
private String emp_job;
private String emp_office_tel;
private String emp_note;
private String emp_pic;
private int emp_login;
private String emp_pwd;
private String login_name;
private Evaluate evaluate;
public void setEvaluate(Evaluate evaluate) {
this.evaluate = evaluate;
} public Evaluate getEvaluate() {
return evaluate;
} public int getEmp_id() {
return emp_id;
}
public void setEmp_id(int empId) {
emp_id = empId;
}
public String getEmp_name() {
return emp_name;
}
public void setEmp_name(String empName) {
emp_name = empName;
}
public String getEmp_sex() {
return emp_sex;
}
public void setEmp_sex(String empSex) {
emp_sex = empSex;
}
public String getEmp_birth() {
return emp_birth;
}
public void setEmp_birth(String empBirth) {
emp_birth = empBirth;
}
public String getEmp_job() {
return emp_job;
}
public void setEmp_job(String empJob) {
emp_job = empJob;
}
public String getEmp_office_tel() {
return emp_office_tel;
}
public void setEmp_office_tel(String empOfficeTel) {
emp_office_tel = empOfficeTel;
}
public String getEmp_note() {
return emp_note;
}
public void setEmp_note(String empNote) {
emp_note = empNote;
}
public String getEmp_pic() {
return emp_pic;
}
public void setEmp_pic(String empPic) {
emp_pic = empPic;
}
public int getEmp_login() {
return emp_login;
}
public void setEmp_login(int empLogin) {
emp_login = empLogin;
}
public String getEmp_pwd() {
return emp_pwd;
}
public void setEmp_pwd(String empPwd) {
emp_pwd = empPwd;
}
public String getLogin_name() {
return login_name;
}
public void setLogin_name(String loginName) {
login_name = loginName;
}
}evaluate.java:package com.yinhai.giuzhou.evaluate.demo;import java.util.Date;import com.yinhai.giuzhou.employee.demo.Employee;public class Evaluate {
private int evaluate_id;
private Date evaluate_time;
private String evaluate_result;
private Employee employee;
public Employee getEmployee() {
return employee;
} public void setEmployee(Employee employee) {
this.employee = employee;
} public int getEvaluate_id() {
return evaluate_id;
}
public void setEvaluate_id(int evaluateId) {
evaluate_id = evaluateId;
}
public Date getEvaluate_time() {
return evaluate_time;
}
public void setEvaluate_time(Date evaluateTime) {
evaluate_time = evaluateTime;
}
public String getEvaluate_result() {
return evaluate_result;
}
public void setEvaluate_result(String evaluateResult) {
evaluate_result = evaluateResult;
}
}
Employee.hbm.xml:<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.yinhai.giuzhou.employee.demo.Employee" table="employee" schema="dbo" catalog="gzzw">
<!-- 复合主键配置 其中两个key-property,分别对应两个主键-->
<id name="emp_id" type="java.lang.Integer" >
<column name="emp_id" />
<generator class="identity" />
</id>
<set name="evaluate" inverse="true" table="evaluate"
lazy="false">
<key>
<column name="emp_id"></column>
</key>
<one-to-many class="com.yinhai.giuzhou.evaluate.demo.Evaluate"/>
</set>
<property name="emp_name" type="string" column="emp_name"></property>
<property name="emp_sex" type="string" column="emp_sex"></property>
<property name="emp_birth" type="string" column="emp_birth"></property>
<property name="emp_job" type="string" column="emp_job"></property>
<property name="emp_office_tel" type="string" column="emp_office_tel"></property>
<property name="emp_note" type="string" column="emp_note"></property>
<property name="emp_pic" type="string" column="emp_pic"></property>
<property name="emp_login" type="java.lang.Integer" column="emp_login"></property>
<property name="emp_pwd" type="string" column="emp_pwd"></property>
<property name="login_name" type="string" column="login_name"></property>
</class>
</hibernate-mapping>
Evaluate.hbm.xml:<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.yinhai.giuzhou.evaluate.demo.Evaluate" catalog="gzzw" schema="dbo" table="evaluate">
<id name="evaluate_id" column="evaluate_id" type="java.lang.Integer">
<generator class="identity"></generator>
</id>
<many-to-one name="employee" class="com.yinhai.giuzhou.employee.demo.Employee"
outer-join="auto" cascade="none" access="property" not-null="true">
<column name="emp_id"></column>
</many-to-one>
<property name="evaluate_time" type="java.util.Date" column="evaluate_time"></property>
<property name="evaluate_result" type="string" column="evaluate_result"></property>
</class>
</hibernate-mapping>报错如下:IllegalArgumentException occurred while calling setter of com.yinhai.giuzhou.employee.demo.Employee.evaluate 请教大虾啊
package com.yinhai.giuzhou.employee.demo;import com.yinhai.giuzhou.evaluate.demo.Evaluate;public class Employee {
private int emp_id;
private String emp_name;
private String emp_sex;
private String emp_birth;
private String emp_job;
private String emp_office_tel;
private String emp_note;
private String emp_pic;
private int emp_login;
private String emp_pwd;
private String login_name;
private Evaluate evaluate;
public void setEvaluate(Evaluate evaluate) {
this.evaluate = evaluate;
} public Evaluate getEvaluate() {
return evaluate;
} public int getEmp_id() {
return emp_id;
}
public void setEmp_id(int empId) {
emp_id = empId;
}
public String getEmp_name() {
return emp_name;
}
public void setEmp_name(String empName) {
emp_name = empName;
}
public String getEmp_sex() {
return emp_sex;
}
public void setEmp_sex(String empSex) {
emp_sex = empSex;
}
public String getEmp_birth() {
return emp_birth;
}
public void setEmp_birth(String empBirth) {
emp_birth = empBirth;
}
public String getEmp_job() {
return emp_job;
}
public void setEmp_job(String empJob) {
emp_job = empJob;
}
public String getEmp_office_tel() {
return emp_office_tel;
}
public void setEmp_office_tel(String empOfficeTel) {
emp_office_tel = empOfficeTel;
}
public String getEmp_note() {
return emp_note;
}
public void setEmp_note(String empNote) {
emp_note = empNote;
}
public String getEmp_pic() {
return emp_pic;
}
public void setEmp_pic(String empPic) {
emp_pic = empPic;
}
public int getEmp_login() {
return emp_login;
}
public void setEmp_login(int empLogin) {
emp_login = empLogin;
}
public String getEmp_pwd() {
return emp_pwd;
}
public void setEmp_pwd(String empPwd) {
emp_pwd = empPwd;
}
public String getLogin_name() {
return login_name;
}
public void setLogin_name(String loginName) {
login_name = loginName;
}
}evaluate.java:package com.yinhai.giuzhou.evaluate.demo;import java.util.Date;import com.yinhai.giuzhou.employee.demo.Employee;public class Evaluate {
private int evaluate_id;
private Date evaluate_time;
private String evaluate_result;
private Employee employee;
public Employee getEmployee() {
return employee;
} public void setEmployee(Employee employee) {
this.employee = employee;
} public int getEvaluate_id() {
return evaluate_id;
}
public void setEvaluate_id(int evaluateId) {
evaluate_id = evaluateId;
}
public Date getEvaluate_time() {
return evaluate_time;
}
public void setEvaluate_time(Date evaluateTime) {
evaluate_time = evaluateTime;
}
public String getEvaluate_result() {
return evaluate_result;
}
public void setEvaluate_result(String evaluateResult) {
evaluate_result = evaluateResult;
}
}
Employee.hbm.xml:<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.yinhai.giuzhou.employee.demo.Employee" table="employee" schema="dbo" catalog="gzzw">
<!-- 复合主键配置 其中两个key-property,分别对应两个主键-->
<id name="emp_id" type="java.lang.Integer" >
<column name="emp_id" />
<generator class="identity" />
</id>
<set name="evaluate" inverse="true" table="evaluate"
lazy="false">
<key>
<column name="emp_id"></column>
</key>
<one-to-many class="com.yinhai.giuzhou.evaluate.demo.Evaluate"/>
</set>
<property name="emp_name" type="string" column="emp_name"></property>
<property name="emp_sex" type="string" column="emp_sex"></property>
<property name="emp_birth" type="string" column="emp_birth"></property>
<property name="emp_job" type="string" column="emp_job"></property>
<property name="emp_office_tel" type="string" column="emp_office_tel"></property>
<property name="emp_note" type="string" column="emp_note"></property>
<property name="emp_pic" type="string" column="emp_pic"></property>
<property name="emp_login" type="java.lang.Integer" column="emp_login"></property>
<property name="emp_pwd" type="string" column="emp_pwd"></property>
<property name="login_name" type="string" column="login_name"></property>
</class>
</hibernate-mapping>
Evaluate.hbm.xml:<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.yinhai.giuzhou.evaluate.demo.Evaluate" catalog="gzzw" schema="dbo" table="evaluate">
<id name="evaluate_id" column="evaluate_id" type="java.lang.Integer">
<generator class="identity"></generator>
</id>
<many-to-one name="employee" class="com.yinhai.giuzhou.employee.demo.Employee"
outer-join="auto" cascade="none" access="property" not-null="true">
<column name="emp_id"></column>
</many-to-one>
<property name="evaluate_time" type="java.util.Date" column="evaluate_time"></property>
<property name="evaluate_result" type="string" column="evaluate_result"></property>
</class>
</hibernate-mapping>报错如下:IllegalArgumentException occurred while calling setter of com.yinhai.giuzhou.employee.demo.Employee.evaluate 请教大虾啊
解决方案 »
- 用Jsp做个网站,其中有一项需要向数据库中插入日期时间(时间格式形如2012-04-30),在数据库中该字段数据类型为datetime,现如今用户提交表单老是错
- servlet向JSP传递集合,JSP取不到值。怎么解决?
- 关于异常的请教
- 一个分布式计算的毕业设计,求帮助!
- ssh 开发,一个jsp 可以对应多个action 吗?
- Hibernate实例化时的空指针异常问题
- tomcat 移植weblogic
- jboss启动时,如何输出自己定义的信息?
- 请帮我回答以下问题
- transactionnal注解,事物没有提交
- 有人有struts2-dojo-plugin-2.1.8.1.jar这个包吗?求个分享。。找了很久都没有免费下的,csdn又没积分
- 寻求一个可以借鉴的java开源系统
一对多怎么能这样写呢!!
应该设置一个Set。
private Set<Evaluate> = new HashSet<Evaluate>();
getter/setter
这样才能将一对多的关系映射。
一对多应该是这样private Set<Evaluate> evaluate;