2012-04-10 68 views

回答

2

假设你有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

+0

thanx for the answer @Ken Chan – bhavin 2012-04-10 10:33:14

相关问题