1

Address クラスと ManyToOne 関係を持つ Person クラスの 2 つのクラスがあります。人物を取得しようとすると、アドレス オブジェクトの内部に null 要素が含まれています。これはなぜですか? 怠惰な構成は機能しませんか? カスケードでアドレスを持つ Person オブジェクトを保存できます。

これが私のコードです:

人物クラス:

public class Person  implements java.io.Serializable {

     private int idPerson;
     private String name;
     private String surname;
     private String dni;
     private Date dateBirth;
     private String cellPhone;
     private String landPhone;
     private String email;
     private String discr;
     private Address address ;

     public Person() {
     }
    // ¡gett

ers とセッター } My Address クラス:

public class Address  implements java.io.Serializable {

 private int idAddress;
 private City city;
 private String street;
 private String number;
 private Integer apartament;
 private int level;

    public Address() {
    }
 //getters an setters
}

私の2つのマッピングファイル:

<hibernate-mapping>
    <class name="com.efix.model.enterprise.Address" table="address" schema="public">
        <id name="idAddress" type="int">
            <column name="id_address" />
            <generator class="assigned" />
        </id>
        <many-to-one name="city" class="com.efix.model.enterprise.City" cascade="all" lazy="false">
            <column name="id_city" not-null="true" />
        </many-to-one>
        <property name="street" type="string">
            <column name="street" length="60" not-null="true" />
        </property>
        <property name="number" type="string">
            <column name="number" length="6" />
        </property>
        <property name="apartament" type="java.lang.Integer">
            <column name="apartament" />
        </property>
        <property name="level" type="int">
            <column name="level" not-null="true" />
        </property>
    </class>
</hibernate-mapping>

上はアドレス マッピングで、これが私のピープル マッピングです。

        <!-- Sublcase cliente -->
        <subclass name="com.efix.model.enterprise.Client" discriminator-value="Client">
            <property name="notes" type="string">
                <column name="notes" />
            </property>
        </subclass>

    </class>
</hibernate-mapping>

私の NullPointerException は、次のコード ブロックをスローします。

ClientServiceImpl serviceImpl = new ClientServiceImpl();
for (Client cli : serviceImpl.findAll()) {
    System.out.println(cli.getAddress().getNumber());

よろしくお願いします!!

4

1 に答える 1

0

お返事ありがとうございます!! 私のエラーは、 内の式にありました。存在しないプロパティを参照していました!!

于 2013-10-18T13:49:02.963 に答える