當我執行我的程序時未執行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>
任何人都可以解釋錯誤嗎?
你好拉維...我Overrided這樣 HashCodeBuilder.reflectionHashCode(本); EqualsBuilder.reflectionEquals(this,obj); ToStringBuilder.reflectionToString(this); –
您正在依靠第三方工具來生成您的哈希碼,該哈希碼可能無法根據您的成員變量生成不同的哈希碼。如果您有一個字段爲兩個不同的對象保存相同的值,則可能會得到錯誤的哈希碼。 嘗試自己生成哈希碼(或者如果你碰巧使用Eclipse,在你的類內右鍵單擊 - >源 - >生成哈希碼並等於) –
hello ravi ...我也生成Hashcode()和equals()提供,它仍然給出相同的錯誤... –