当我执行我的程序时未执行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()提供,它仍然给出相同的错误... –