2009-05-28 11 views
10

finden Ich habe eine Klasse, die wie folgt aussieht:Hibernate - PropertyNotFoundException: Es konnte kein Getter für

public class MyClass { 
    private String dPart1; 

    public String getDPart1() { 
     return dPart1; 
    } 

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

Meine Hibernate Mapping-Datei die Eigenschaft abbildet wie folgt:

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

ich die folgender Fehler:

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 

Es scheint, dass Hibernate meine Großschreibung nicht mag. Wie soll ich das beheben?

Antwort

16
<property name="DPart1" not-null="true"/> 

funktionieren sollte ...

+0

Ich bin auch mit dem Problem konfrontiert und die obigen Lösungen funktioniert gut für mich. Nun, was ich gerne wissen würde, ist es Java Spezifikation für Setter Getter-Methoden oder ist es jboss spezifische Implementierung für den Winterschlaf? Vielen Dank für Ihre Antwort :) –

+0

Könnten Sie bitte eine Erklärung zu Ihrer Lösung geben? – Marco

4

für eine Eigenschaft namens "dPart1" ein Hibernate eine get-Methode namens "getDpart1" nicht "getDPart1" IIRC versuchen

+0

die Großschreibung ist wichtig. d. h. – emdog4

+0

Was ist, wenn getDPart1 benötigt wird? –

3

Kannst du nicht einfach darauf zugreifen wie ein Feld?

access = "Feld"

0

Ich habe die Lösung

Bitte machen dPart1 wieder die Getter und Setter dpart1 und ändern ..

Es ist für mich jetzt arbeiten.

Denken Sie daran, das XML auch zu ändern.

0
private String rptausu; 

public String getRptausu() { 
    return rptausu; 
} 

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

Mapping:

 <property name="prtausu" /> 

Arbeiten korrekt

0

Von dem, was ich gesehen habe, Hibernate (mindestens Version 3.2.4) wird eine Eigenschaft wie dpart erwarten einen Getter haben genannt getdPart : d bleibt kleingeschrieben. Sehen Sie sich auch die Antwort von dfa an - ich vermute, dass andere Versionen stattdessen getDpart erwarten.

0

Die Setter & Getter sollten wie folgt aussehen

getdPart1() 
setdPart1(....) 

Das ist, wie der Setter & Getter erzeugt werden, wenn durch eine IDE wie Eclipse erzeugt.

0

Für eine Eigenschaft private Integer carId;

die Getter und Setter sollte

getCarId() setCarId (Integer carId)

0

Die Namenskonvention der Immobilie zählt sein Beispiel Ich habe meinen eigenen Fall verwendet anfangs

private String newimsi, getNewImsi(); 

die oben mit derselben Ausnahme fehlgeschlagen

propertynotfoundexception

bis ich nach unten korrigiert, bevor es funktionierte

getNewimsi(); 
Verwandte Themen