【发布时间】:2015-01-21 21:49:41
【问题描述】:
我有两个表,如下所示:
tableA {
private String code;
private String desc;
//few other properties followed by getter and setter
}
tableB {
private String code;
private String desc;
private String tableACode;
//few other properties followed by getter and setter
}
现在,我想在 tableB 中为 tableA 定义一个 @ManyToOne 关系,这样我就想只存储 tableA.desc(我想在缓存时限制这个对象在内存中的大小)。
这样可以吗?
我尝试了类似下面的方法。但结果查询不是我所期望的。
tableB {
private String code;
private String desc;
private String tableACode;
@ManyToOne
@JoinColumnsOrFormulas(value = {@JoinColumnOrFormula(column=@JoinColumn(name = "tableACode", referencedColumnName = "code")),
@JoinColumnOrFormula(formula = @JoinFormula(value = "SELECT a.desc from tableA e WHERE a.code = tableACode", referencedColumnName = "tableACode"))})
private String tableADesc;
//few other properties followed by getter and setter
}
【问题讨论】:
标签: java hibernate jpa orm hibernate-mapping