当我定义@OneToMany或@ManyToMany关系时,@ JoinColumn和@JoinTable的工作如预期;但是,当我在SQL Workbench中查看数据库时,联接列似乎没有被标记为外键。
例如,如果我的“用户” @Entity具有角色列表:
@JoinTable(
joinColumns = {@JoinColumn(name = "user_id")},
inverseJoinColumns = {@JoinColumn(name = "role_id")}
)
@ManyToMany
List<Role> roles;
生成的联接表可根据需要工作,但列仅是bigint的列,而不是外键。
除其他原因外,我希望将FK标记为这样,以便我可以自动生成关系图。
答案 0 :(得分:1)
我当然会在发布问题后找到解决方案(而不是在之前的100次Google搜索中找到)
我必须将其放入Spring application.properties:
spring.jpa.database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
默认引擎“ myISAM”显然不支持外键。