1

私の住所クラス:

public class Address  implements java.io.Serializable {
 private String addressId;
 private String customerId;

  public Address() {
}

public Address(String addressId) {
    this.addressId = addressId;
}
public Address(String addressId, String customerId) {
   this.addressId = addressId;
   this.customerId = customerId;

public String getAddressId() {
    return this.addressId;
}

public void setAddressId(String addressId) {
    this.addressId = addressId;
}
public String getCustomerId() {
    return this.customerId;
}

public void setCustomerId(String customerId) {
    this.customerId = customerId;
}

私のhbm.xmlファイル:

<class name="Address" table="Address">
    <id name="addressId" column="address_id" type="java.lang.String">
        <generator class="assigned" />
    </id>

    <property name="customerId" column="customer_id" type="java.lang.String" />

</class>

次のエラーが発生します

org.hibernate.PropertyNotFoundException: Could not find a getter for customerId in class Address
    at org.hibernate.property.BasicPropertyAccessor.createGetter(BasicPropertyAccessor.java:282)
    at org.hibernate.property.BasicPropertyAccessor.getGetter(BasicPropertyAccessor.java:275)
    at org.hibernate.mapping.Property.getGetter(Property.java:272)
    at org.hibernate.tuple.entity.PojoEntityTuplizer.buildPropertyGetter(PojoEntityTuplizer.java:247)
    at org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:125)
    at org.hibernate.tuple.entity.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:55)
    at org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.<init>(EntityEntityModeToTuplizerMapping.java:56)
    at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:302)
    at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:434)
4

5 に答える 5

4

Hibernateは、大文字と小文字を区別するのが少し難しい場合があります。

プロパティ名としてCustomerIdを試してみてください。すべて、問題ないはずです。プロパティに名前を付けると、HibernateはgetcustomerIdメソッドを期待しますcustomerID

于 2012-06-15T07:58:34.057 に答える
2

これは、hibernate.hbm.xmlファイルでデフォルト属性を設定していないが、データベースの列にデフォルト値が指定されている場合に発生する可能性があります。

于 2013-11-16T21:38:03.033 に答える
0

EclipseにWebアプリケーションがある場合は、Javaビルドパスに同じ出力フォルダーがあり、DeploymentAssemblyに同じソースフォルダーがあることを確認してください。

于 2014-01-27T12:35:25.627 に答える
0

エイリアスをエスケープされた引用符で囲む必要がある場合があります(プロパティメソッドまたはフィールドを介してエイリアス値をClassのインスタンスに挿入するresulttransformerを使用する場合)。

session
    .createNativeQuery("SELECT something AS /"someThing/"")
    .setResultTransformer(Transformers.aliasToBean(MyDao.class))
    .getResultList();
于 2019-02-26T06:12:27.007 に答える
0

私の場合。私の戦争とjarには重複したクラスがあることがわかりました。JigarJoshiが言ったように。なぜこれが起こったのですか?あるエンティティを、jarファイルにパッケージ化する他のプロジェクトに移動します。そして、戦争によってプロジェクトを再デプロイしました。Tomcatは、削除したエンティティクラスを削除しませんでした。エンティティクラスはまだ古い場所にあり、jarファイルと重複しています。

重複したクラスを削除します

于 2019-04-26T08:41:40.107 に答える