[我知道问题不应该只包含一个以上的问题,但是......我想知道这条思路在哪里脱轨:]
1)是否可以在嵌入式类中包含@OneToMany
或@ManyToMany
属性? (即直接嵌入,而不是通过@ElementCollection
)
2)如果是,嵌入式类是否可以为连接表指定@Id
字段,而不是作为主机实体的@Id
字段?
3)如果否,联接表是否引用主机实体的@Id
字段?
4)如果是,是否可以将这样的嵌入式类嵌入到多个主机实体中?
5)如果是,并且如果未指定name
的{{1}},是否会生成两个连接表,每个主机表一个?
6)如果@JoinTable
的名称是,那么只会生成一个表,否则会产生错误?
7)如果生成了一个表,并且未指定@JoinTable
内的joinColumns
,是否会为不同的主机实体生成不同的列?
8)如果指定了@JoinTable
,此列是否包含两个主机实体的交替joinColumns
值? (可能没有外键,导致不同表的重复@id
值出错?)
答案 0 :(得分:2)
https://en.wikibooks.org/wiki/Java_Persistence/Embeddables#Relationships涵盖了大部分内容 和https://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Entities/Embeddable#Relationships