【发布时间】:2012-07-15 07:08:23
【问题描述】:
我对休眠注释映射有很大的问题。这是我的图表:
至于映射对象,很少有简单的,因为它的 1...N 为:TASK_DEF -> REPORT_DATAREPORT_DATA -> REPORT_DATA_COLUMNREPORT_DATA -> REPORT_DATA_VALUE
对吧?
现在的问题是当我尝试将 REPORT_DATA_VALUE 的集合映射到 REPORT_DATA_COLUMN 时。我试过这种方式:
@OneToMany(fetch = FetchType.LAZY)
@ForeignKey(name = "FK_REPORT_DATA_VALUE_REPORT_DA", inverseName = "PK_REPORT_DATA_COLUMN")
@JoinTable(name = "REPORT_DATA_VALUE", joinColumns = {
@JoinColumn(name = "REPORT_DATA_ID"),
@JoinColumn(name = "COLUMN_NM")
}, inverseJoinColumns = {
@JoinColumn(name = "REPORT_DATA_ID"),
@JoinColumn(name = "COLUMN_NM")
})
List<ReportDataValue> reportDataValueList;
但是hibernate选择了错误的标识,因此无法执行查询。有人可以帮我解决这个问题吗?
【问题讨论】:
-
在您的问题中包含图表,并粘贴异常的完整堆栈跟踪。
标签: java hibernate orm annotations