我想用一个链接表来映射Hibernate中的多到多。我有两个班,家长班和孩子班,例如:
public class Parent{
private List<Child> _children;
//...getters and setters
}我使用一个链接表(link_table),包括link_id、parent_id和child_id三列。数据库是server,id类型是统一标识符。所以,我通常用guid作为id字段。
如果这是要使用的正确标记,那么如何使用<list />标记来实现这一点?你知道有什么好的文件可以完成这个任务吗?
我目前正在获得一个ConstraintViolationException,但还没有找到任何好的文档或示例。
我认为一个主要的问题是:如何指定在链接表. link_id中自动生成的.
发布于 2008-12-23 01:30:42
我使用注释(特别是@ManyToMany和@JoinTable)来完成此操作:
Hibernate文档:
@Entity
public class Employer implements Serializable {
@ManyToMany(
targetEntity=org.hibernate.test.metadata.manytomany.Employee.class,
cascade={CascadeType.PERSIST, CascadeType.MERGE}
)
@JoinTable(
name="EMPLOYER_EMPLOYEE",
joinColumns=@JoinColumn(name="EMPER_ID"),
inverseJoinColumns=@JoinColumn(name="EMPEE_ID")
)
public Collection getEmployees() {
return employees;
}
}
@Entity
public class Employee implements Serializable {
@ManyToMany(
cascade = {CascadeType.PERSIST, CascadeType.MERGE},
mappedBy = "employees",
targetEntity = Employer.class
)
public Collection getEmployers() {
return employers;
}
}https://stackoverflow.com/questions/387806
复制相似问题