hashcode()
とtoString()
を実装せずにプログラムを実行すると正常に動作します。しかし、私がhashcode()
とtoString()
を含むとすぐに、私はこの "不正なアクセスをコレクションにロードする"エラーを受け取ります。"コレクションの読み込みに違法なアクセス"エラーが発生する
マイHBMファイルです
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>
誰でもエラーを説明できますか?
こんにちはラヴィ...私はこの HashCodeBuilder.reflectionHashCode(この)のようにオーバーライドしています。 EqualsBuilder.reflectionEquals(this、obj); ToStringBuilder.reflectionToString(this); –
サードパーティのツールを使用してハッシュコードを生成しているため、メンバー変数に基づいて異なるハッシュコードが生成されない場合があります。 2つの異なるオブジェクトの同じ値を保持するフィールドがある場合、間違ったハッシュコードを取得する可能性があります。 自分自身でハッシュコードを生成しようとすると(または、クラス内で右クリック→ソース→ハッシュコードと等価を生成するEclipseが使用された場合) –
hello ravi ...私はHashcode()とequals()提供されていますが、それでも同じエラーが発生しています... –