3

可能重复:
Hibernate - PropertyNotFoundException:找不到 getter

当我尝试运行我的代码时出现错误。可以请各位帮忙。我附上了我的映射文件。这里的问题是,正在低于错误。“ org.hibernate.PropertyNotFoundException:在类 bean.Employee 中找不到 eployeedetail 的吸气剂”

这是我的员工班

   package bean;

   import bean.EployeeDetails;

   public class Employee {


    int             EmpId;
    String          name;
    String          phone;
    EployeeDetails          Edetails;

   public EployeeDetails getEdetails() {
        return Edetails;
    }
    public void setEdetails(EployeeDetails eDetails) {
        Edetails = eDetails;
    }

和其他吸气剂和二传手。

员工详细信息.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
       "-//Hibernate/Hibernate Mapping DTD//EN"
       "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

       <hibernate-mapping>
        <class name="bean.EployeeDetails" table="eployeedetail">
            <id name="EmpId">
                <column name="employee_id"/>
                <generator class="foreign" >
                <param name="property">eployee</param>
                </generator>
            </id>
            <one-to-one name="eployee" class="bean.Employee" constrained="true"></one-to-one>
            <property name="Address" column="ADDRESS"/>
        </class>
       </hibernate-mapping>

员工.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
       "-//Hibernate/Hibernate Mapping DTD//EN"
       "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

       <hibernate-mapping>
        <class name="bean.Employee" table="eployee">
            <id name="EmpId" column="employee_id">
                <generator class="native" />
            </id>
            <one-to-one name="eployeedetail" class="bean.EployeeDetails"/>
            <property name="name" column="NAME"/>
            <property name="phone" column="PHONE"/>
        </class>
       </hibernate-mapping>
4

2 回答 2

1

更改您的代码

 EployeeDetails   Edetails;

 EployeeDetails    Edetails = new EployeeDetails();
于 2012-11-20T11:07:13.877 回答
1

问题出在Employee.hbm.xml. 每当您指定一对一标签时,您需要指定 2 个基本属性:

  1. name表示属性的名称。在你的情况下,它应该是Edetails& not eployeedetail这就是你得到例外的原因。
  2. class表示与该类一对一关联的类名。在您的情况下,它应该是EployeeDetails.

更改Employee.hbm.xml,将一对一的标签属性名称更改为Edetails&您的问题将得到解决。

于 2012-11-21T06:00:35.177 回答