Quando eseguo il mio programma senza implementare hashcode()
e toString()
, quindi funziona correttamente. Ma non appena includo hashcode()
e toString()
, ottengo questo errore "accesso illegale alla raccolta di caricamento".Errore "accesso illegale alla raccolta di caricamento" errore
miei file HBM sono
1) booking.hbm.xml
<many-to-one name="userId" class="User" column="user_id"
insert="true" update="true" cascade="save-update" >
</many-to-one>
<many-to-one name="flightId" class="FlightSchedule"
column="flight_id" cascade="all" not-null="true">
</many-to-one>
<set name="passenger" table="passenger79215" lazy="false"
inverse="true" cascade="save-update">
<key column="reference_id" />
<one-to-many class="Passenger" />
</set>
2) Passenger.hbm.xml
<many-to-one name="referenceid" class="Booking" lazy="false"
insert="true" update="true" column="reference_id "
cascade="save-update">
</many-to-one>
3) User.hbm .xml
<set name="booking" table="bookings79215" lazy="true"
inverse="false" cascade="save-update">
<key column="user_id" />
<one-to-many class="Booking" />
</set>
Qualcuno può spiegare l'errore?
Ciao Ravi ... Ho Overrided come questo HashCodeBuilder.reflectionHashCode (questo); EqualsBuilder.reflectionEquals (this, obj); ToStringBuilder.reflectionToString (this); –
Si sta facendo affidamento su uno strumento di terze parti per generare il proprio codice hash, che potrebbe non riuscire a generare hashcode distinto in base alle variabili membro. Se hai un campo che contiene lo stesso valore per due oggetti diversi, potresti ottenere un codice hash errato. prova a generare codice hash (o se ti capita di usare Eclipse, all'interno della classe fai clic con il tasto destro-> Origine-> genera codice hash e uguale a) –
ciao ravi ... ho anche generato Hashcode() ed equals() nel modo in cui tu fornito e sta ancora dando lo stesso errore ... –