人.java:
public class Person implements java.io.Serializable {
private int id;
private String fullName;
public Person() {
}
public Person(int id, String fullName) {
this.id = id;
this.fullName = fullName;
}
public int getId() {
return this.id;
}
public void setId(int id) {
this.id = id;
}
}
项目组.java:
public class ProjectGroup implements java.io.Serializable {
private int id;
private Set<Person> persons = new HashSet<Person>(0);
private String name;
/**
* Get the value of name
*
* @return the value of name
*/
public String getName() {
return name;
}
/**
* Set the value of name
*
* @param name new value of name
*/
public void setName(String name) {
this.name = name;
}
public ProjectGroup() {
}
public ProjectGroup(int id, String name, Set<Person> persons) {
this.id = id;
this.name = name;
this.persons = persons;
}
public int getId() {
return this.id;
}
public void setId(int id) {
this.id = id;
}
public Set<Person> getPersons() {
return this.persons;
}
public void setPersons(Set<Person> persons) {
this.persons = persons;
}
}
人.hbm.xml:
<hibernate-mapping>
<class name="com.mycompany.Person" table="person" schema="public">
<id name="id" type="int">
<column name="id" />
<generator class="identity" />
</id>
<property name="fullName" type="string">
<column name="full_name" length="128" not-null="true" />
</property>
<set name="projectGroups" inverse="false" lazy="false" cascade="delete" table="group_person">
<key>
<column name="project_id" />
</key>
<many-to-many entity-name="com.mycompany.ProjectGroup">
<column name="group_id" />
</many-to-many>
</set>
</class>
</hibernate-mapping>
项目组.hbm.xml:
<hibernate-mapping>
<class name="com.mycompany.ProjectGroup" table="project_group" schema="public">
<id name="id" type="int">
<column name="id" />
<generator class="identity" />
</id>
<property name="name" type="string">
<column name="name" length="32" not-null="true" />
</property>
<set name="persons" inverse="false" table="group_person">
<key>
<column name="group_id" />
</key>
<many-to-many entity-name="com.mycompany.Person">
<column name="project_id" />
</many-to-many>
</set>
</class>
</hibernate-mapping>
我需要做的是加载具有特定组的所有用户。我知道如何使用 SQL 来做到这一点,但 Hibernate 等价物却让我望而却步。