2
我用冬眠的application.I有多对多关系的两个表,我对他们两个的POJO第三表中定义。但是关系在第三个表中没有定义POJO。我如何关联我的两个表并使用它们如何具有POJO的两个表映射但它们之间的关系是不具有POJO
我用冬眠的application.I有多对多关系的两个表,我对他们两个的POJO第三表中定义。但是关系在第三个表中没有定义POJO。我如何关联我的两个表并使用它们如何具有POJO的两个表映射但它们之间的关系是不具有POJO
假设你有TableA和TableB的POJO,并且想在表C中关联它们之间的多对多关系而无需为TableC创建POJO。
如果表C只包含有外键约束表A和表B两列,您可以通过使用@ManyToMany
和@JoinTable
实现它:
@Entity
public class TableA{
@ManyToMany
@JoinTable(
name = "TableC",
joinColumns = {@JoinColumn(name = "TableA_ID")},
inverseJoinColumns = {@JoinColumn(name = "TableB_ID")}
)
private List<TableB> tableB= new ArrayList<TableB>();
}
@Entity
public class TableB{
@ManyToMany(mappedBy="tableB")
private List<TableA> tableA= new ArrayList<TableA>();
}
但是,如果表C中含有较多的附加列有没有外键约束与其他表(如last_modified_date
列),你不能做到这一点,你必须申报表C作为POJO和model the many-to-many association as two one-to-many associations to Table C。
thanx for the answer @Ken Chan – bhavin 2012-04-10 10:33:14