多对多关系的属性(Hibernate)
我有实体类A和C.它们映射表tblA和tblC并且它们之间具有多对多关系,并且tblB在它们之间进行映射。 tblB包含A_ID,C_ID和SetDate,最后一个是它被设置的日期,因此是关系的属性。 我的问题是,我如何最好地映射这个属性? 目前它们未被映射,如下所示:
A:
@ManyToMany(targetEntity=C.class, cascade={ CascadeType.PERSIST, CascadeType.MERGE } ) @JoinTable(name="tblB", joinColumns=@JoinColumn(name="A_ID"), inverseJoinColumns=@JoinColumn(name="C_ID") ) private Collection Cs;
C:
@ManyToMany( cascade = {CascadeType.PERSIST, CascadeType.MERGE}, mappedBy = "Cs", targetEntity = A.class ) private Collection As;
我怎么能得到tblB.SetDate呢?
干杯
聂
据我所知, 不可能以这种方式映射,你必须切换到一对多和一对多的关系 ,你的B在中间。 您的日期将是B的属性。
由于缺乏进化性,Hibernate文档建议一般避免使用多对多,并从一开始就使用这两种关系。
看到
@ManyToMany Hibernate问题(可以添加额外字段吗?)
和
如何制作复合主键(java持久性注释)
问候,
- hibernate.hbm2ddl.import_files:文件的路径
- @Entity实体无法解析为某个类型
- 如何只使用一个连接在hibernate中执行嵌套事务?
- Hibernate条件返回页面和rowcount
- 如何在Java Hibernate应用程序中修复java.lang.ArrayIndexOutOfBoundsException
- 将Hibernate 3.5.x添加到maven pom.xml构建中
- Maven + SLF4J:使用需要两个不同SLF4J版本的两个不同依赖项时版本冲突
- 使用Hibernate EntityManager(与Hibernate Core相比)的任何缺点?
- HQL Hibernate INNER JOIN