annotation多对多的中间表带字段属性问题,怎么设置是最佳?
1个回答
展开全部
百度了,google了,。。。。
里面的回答全是要将一个多对多映射成一个多对一, 一个一对多
例如下面这个中间表,usrid和teacherid是复合主键,而带有其他属性字段。
user2teacher(usrid,
teacherid,
score,
others,
isdefault)问题补充: @JoinTable(name="user2teacher",
joinColumns=@JoinColumn(name="userid"),
inverseJoinColumns=@JoinColumn(name="teacherid"))
这个东西只是指定了中间表user2teacher的复合主键usrid,
teacherid,
并未对score,
others,
isdefault这三个字段配置。
PS:虽然在JPA的Annotations中的@JoinTable中的joinColumns属性可以指定多个JoinColumn列,但是这些JoinColumn应该是被连接表的联合主键。joinColumns不是用来添加其他属性列的。
网上有把中间表建一个类的做法,以IdClass配置。。。。但是配置说明不是那么详细,很多都是简单举个例子,不说明配置的关系。。。
里面的回答全是要将一个多对多映射成一个多对一, 一个一对多
例如下面这个中间表,usrid和teacherid是复合主键,而带有其他属性字段。
user2teacher(usrid,
teacherid,
score,
others,
isdefault)问题补充: @JoinTable(name="user2teacher",
joinColumns=@JoinColumn(name="userid"),
inverseJoinColumns=@JoinColumn(name="teacherid"))
这个东西只是指定了中间表user2teacher的复合主键usrid,
teacherid,
并未对score,
others,
isdefault这三个字段配置。
PS:虽然在JPA的Annotations中的@JoinTable中的joinColumns属性可以指定多个JoinColumn列,但是这些JoinColumn应该是被连接表的联合主键。joinColumns不是用来添加其他属性列的。
网上有把中间表建一个类的做法,以IdClass配置。。。。但是配置说明不是那么详细,很多都是简单举个例子,不说明配置的关系。。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询