获取"非法访问加载集合"错误

Cod*_*LaY 7 java hibernate

当我执行我的程序而没有实现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>
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释错误吗?

Rav*_*att 7

您的hashcode和equals方法无法正常工作.确保它们是正确的.toString()与集合类无关,但hashcode和equals没有关系.

我假设你已经覆盖了hashcode和equals,而不仅仅是hashcode.

Object#hashCode() (Java Platform SE 7)