我从不这样做,但我项目中的某个人在 Foo 和 Bar 之间创建了多对多关系。Foo 和 Bar 都有唯一的系统生成 ID。在 Foo 上,我有以下代码:
@ManyToMany(targetEntity = Bar.class, cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinTable(name = "FOO_BAR_LNK",
joinColumns = {@JoinColumn(name = "FOO_ID", referencedColumnName = "ID")},
inverseJoinColumns = {@JoinColumn(name = "BAR_ID", referencedColumnName = "ID")})
private Set<Bar> bars;
创建表时,它有 3 列,HIBERNATE_IDX、FOO_ID 和 BAR_ID。HIBERNATE_IDX 包含全零。
什么是 HIBERNATE_IDX?