3

重複の可能性:
休止状態-PropertyNotFoundException:のゲッターが見つかりませんでした

コードを実行しようとするとエラーが発生します。助けてくれませんか。マッピングファイルを添付しました。ここでの問題は、以下のエラーが発生していることです。"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;
    }

そして他のゲッターとセッター。

EployeeDetails.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>

Employee.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

問題は にありEmployee.hbm.xmlます。1 対 1 のタグを指定する場合は常に、次の2 つの基本属性を指定する必要があります。

  1. プロパティの名前を表す名前。あなたの場合、それはEdetails&ではないはずeployeedetailです。これが、例外が発生する理由です。
  2. このクラスと 1 対 1 で関連付けられているクラス名を表すクラス。あなたの場合、それはEployeeDetails.

を変更Employee.hbm.xmlし、1 対 1 のタグ属性を に変更するEdetailsと、問題が解決されます。

于 2012-11-21T06:00:35.177 に答える
1

コードを次から変更します

 EployeeDetails   Edetails;

これ

 EployeeDetails    Edetails = new EployeeDetails();
于 2012-11-20T11:07:13.877 に答える