我有一个休眠问题。我的表格形式如下:
Id,日期
- -----
测试,2012年1月1日
test,8/1/2012
测试,29/3/2012
test2,7 / 5/2012
test2,1 / 1/2012
主键是这两列的合成。
这映射到表单的对象:
class Coll
{
String id;
List<Date> entries;
}
e.g。
aColl
{
id = test;
entries = { 1/1/2012, 8/1/2012, 29/3/2012 }
}
如何对对象进行注释以描述此映射?我可以看到如果我有两个表,一个用于id的行,然后是一个带有条目的另一个表,而不是一个表中的所有表,我会怎么做。
答案 0 :(得分:0)
我有类似的情况,这是hackish。我不熟悉注释,但想法是创建一个伪实体,映射到一行,然后将集合映射到同一个表。
@Table("MyTable")
@Readonly or @SqlInsert("<noop which returns rowcount == 1 eg insert into temp table>"
@SqlWhere("Date = (SELECT MIN(t.Date) FROM MyTable t WHERE t.Id = Id)")
class Coll
{
@Column(name="id")
String id;
@ElementCollection
@Table("MyTable")
@Column(name="id")
@Element(column="Date")
@Cascade(AllDeleteOrphan)
@Lazy(false)
List<Date> entries;
}
随意更正注释