我有两个数据类:
1.用户类
public class Person {
private int    uid;
private String name;
private Set<PersonalBookRecord> books = 
new HashSet<PersonalBookRecord>();
}<hibernate-mapping package="dataobject">
<class name="Person" table="person">
<id name="uid" type="integer" column="uid">
<generator class="assigned"/>
</id>
<property name="name" column="name" type="string" not-null="true" length="255"/>
<set name="books" inverse="true" lazy="false">
<key column="recordID" not-null="true"/>
<one-to-many class="PersonalBookRecord" />
</set>
</class>
</hibernate-mapping>2.书籍类
public class PersonalBookRecord {
private int    recordID;
private String name;
private Person person;
}<hibernate-mapping package="dataobject">
<class name="PersonalBookRecord" table="personalBookRecord">
<id name="recordID" type="integer" column="recordID">
<generator class="identity"/>
</id> <property name="name" column="name" type="string" not-null="true" length="255"/>
<many-to-one name="person" column="person_id" class="Person" not-null="true"/>
</class>
</hibernate-mapping>采用的是MySQL8.0.20数据库。数据库里有一条用户记录和该用户记录的3条书籍记录。
我用用户ID到书籍表中可以查到3条正确记录。但使用person.getBooks().size()只有一条记录。不知道是怎么回事?请大家指教。谢谢!