Hibernate - PropertyNotFoundException: не удалось найти геттер для - PullRequest
12 голосов
/ 28 мая 2009

У меня есть класс, который выглядит следующим образом:

public class MyClass {
    private String dPart1;

    public String getDPart1() {
        return dPart1;
    }

    public void setDPart1(String dPart1) {
        this.dPart1 = dPart1;
    }
}

Мой файл отображения hibernate отображает свойство следующим образом:

<property name="dPart1" not-null="true"/>

Я получаю следующую ошибку:

org.hibernate.PropertyNotFoundException: Could not find a getter for dPart1 in class com.mypackage.MyClass
        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)
        at 

Похоже, что hibernate не нравится моя капитализация. Как мне это исправить?

Ответы [ 9 ]

18 голосов
/ 28 мая 2009
<property name="DPart1" not-null="true"/>

должно работать ...

6 голосов
/ 28 мая 2009

для свойства с именем "dPart1" hibernate попытается получить метод с именем "getDpart1", а не "getDPart1" IIRC

3 голосов
/ 28 мая 2009

Разве вы не можете просто получить к нему доступ, как поле?

доступ = "поле"

0 голосов
/ 10 марта 2016

Соглашение об именовании свойства имеет значение в моем случае, когда я изначально использовал

private String newimsi, getNewImsi();

вышеупомянутый сбой с тем же исключением

propertynotfoundexception

пока я не исправлю ниже, пока он не заработал

getNewimsi();
0 голосов
/ 17 января 2014

Для недвижимости частный Integer carId;

сеттеры и геттеры должны быть

getCarId () setCarId (Integer carId)

0 голосов
/ 01 марта 2013

Сеттер и геттер должны выглядеть следующим образом

getdPart1()
setdPart1(....)

Вот так генерируются сеттеры и геттеры, если они генерируются через IDE, например, eclipse.

0 голосов
/ 22 августа 2011

Из того, что я видел, Hibernate (по крайней мере версия 3.2.4) будет ожидать, что у свойства, такого как dPart, будет получатель с именем getdPart: d остается строчным. Посмотрите также на ответ dfa - я предполагаю, что другие версии могут ожидать getDpart вместо этого.

0 голосов
/ 04 апреля 2010
private String rptausu;

public String getRptausu() {
    return rptausu;
}

public void setRptausu(String rpta) {
    rptausu = rpta;
}

отображение:

        <property name="prtausu" />

работает правильно

0 голосов
/ 06 июня 2009

Я получил решение

Пожалуйста, установите dPart1 на dpart1 и измените геттер и сеттер снова.

Это работает для меня сейчас.

Не забудьте также изменить xml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...