我有 2 个带有@ManyToMany关系字段的表。在休眠配置文件中我有
<property name="hbm2ddl.auto">update</property>
在应用程序启动期间创建的表在PartId列上设置了唯一键,即
@JoinColumn(name="PartId")}
在@ManyToMany关系中。我没有在任何地方设置此列应具有唯一键。这是默认的自动创建行为吗?
数据库是MySQL 5.5
谢谢。
升级版:
完整的字段描述是:
@ManyToMany
@JoinTable(name="Part_Dev",
joinColumns={@JoinColumn(name="PartId")},
inverseJoinColumns= {@JoinColumn(name="DevCode")})
public List<Dom> getDom() { return dom; }
更新 2
对不起,我看到我没有提到它。零件表中的唯一键,
@Entity @Table(name="Parts")
public class Parts implements Serializable{
@ManyToMany
@JoinTable(name="Part_Dev",
joinColumns={@JoinColumn(name="PartId")},
inverseJoinColumns= {@JoinColumn(name="DevCode")})
public List<Dom> getDom() {
return dom; }
@Column(name="PartId")
public Integer getPartId() {
return partId; }