我有一个如下的实体:
@Entity
@Table(name="ATTACHMENTS")
public class Attachment{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
protected Long id;
@Column(name = "USERNAME")
private String attachmentUsername;
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinTable(name = "ATT_DOC",
joinColumns = {
@JoinColumn(name = "ID_DOC", referencedColumnName = "ID")
},
inverseJoinColumns = {
@JoinColumn(name = "ID_ATT", referencedColumnName = "ID")
})
private Set<Document> documents = new HashSet<>();
}
我有一个映射像^^^^的实体。附件和文档之间的关系是@ManyToMany。我需要在运行时提取外键(列的确切名称)。不幸的是,我可能不会使用任何数据库查询或数据库元数据(如connection.getMetaData)。 我可能只使用hibernate sessionFactory()。getAllClassMetadata
所以我有每个映射实体的元数据(很多属性,如subclassPropertyTypeClosure,subclassPropertyNameClosure ......)。但我找不到任何关于jointable外键的信息。谁有类似的问题? 提前致谢