2009-05-28 12 views
10

ho una classe che è simile al seguente:Hibernate - PropertyNotFoundException: Impossibile trovare un getter per

public class MyClass { 
    private String dPart1; 

    public String getDPart1() { 
     return dPart1; 
    } 

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

mio file di mapping Hibernate associa la proprietà come segue:

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

ho la seguente errore:

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 

Sembra che l'ibernazione non gradisca la mia maiuscola. Come dovrei risolvere questo?

risposta

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

dovrebbe funzionare ...

+0

Sono anche di fronte al problema e le soluzioni di cui sopra funziona bene per me. Ora quello che mi piacerebbe sapere è la specifica java per i metodi getter setter o è l'implementazione specifica di jboss per l'ibernazione? Grazie per la risposta :) –

+0

Potresti fornire una spiegazione sulla tua soluzione? – Marco

4

per una proprietà chiamata "dPart1" un Hibernate cercherà un getter denominata "getDpart1" non "getDPart1" IIRC

+0

la maiuscola è importante. Ad esempio – emdog4

+0

cosa succede se getDPart1 è richiesto? –

3

non puoi semplicemente accedervi come un campo?

accesso = "campo"

0

ho ottenuto la soluzione

Si prega di dPart1 per dpart1 e cambiare il getter e setter di nuovo ..

Si sta lavorando per me ora.

Ricordarsi di modificare anche l'xml.

0
private String rptausu; 

public String getRptausu() { 
    return rptausu; 
} 

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

mappatura:

 <property name="prtausu" /> 

funziona correttamente

0

Da quello che ho visto, Hibernate (almeno la versione 3.2.4) si aspettano una proprietà come dPart avere un getter denominata getdPart : d rimane in minuscolo. Guarda anche la risposta di dfa - immagino che altre versioni potrebbero aspettarsi invece getDpart.

0

Il getter setter & dovrebbe assomigliare a questa

getdPart1() 
setdPart1(....) 

Ecco come il setter & getter vengono generati se generata attraverso un IDE come Eclipse.

0

Per una proprietà numero intero privato;

setter e getter devono essere

getCarId() setCarId (Integer CARID)

0

La convenzione di denominazione della proprietà conta esempio nel mio caso, inizialmente ho usato

private String newimsi, getNewImsi(); 

la sopra fallito con la stessa eccezione

propertynotfoundexception

fino a quando non ho corretto a sotto prima che funzionasse

getNewimsi(); 
Problemi correlati