当前位置:编程学习 > JAVA >>

请问如何设计该hibernate的Entity对象

有这样一个表结构。
@Table(name="FOO")
public class Foo {
@Id
@GeneratedValue
private Long id;

@Column(name="code")
private String code;

@Column(name="serial_no")
private String serialNo;

@Column(name="content")
private String Content;

@Column(name="regist_name")
private String registName;

@Column(name="regist_date")
private Date registDate;


...


FOO
-----------
id    code    serial_no    content    regist_id    regist_date
1     1001    00001        Apple      test         20130101
2     1001    00001        Banana     test         20130102
3     1001    00001        Orange     test         20130104
4     1002    00001        TV         test         20130101
.....

MASTER
------------
id    code    name
1     1001    Fruit
2     1002    ELECTRICAL

我想在获取Foo的时候,多获得两个内容
1. 从MASTER表中获得code相应的name
2. previous content,即code,serial_no相同上一个regist_date的content。
   例如,对于id=3的数据,previous content=Banana。

对于第一个问题,我使用Formula应该可以实现,不过感觉不是很好。
即使使用Lazy,这句expression也会在查询Foo的时候出现在sql里面
@Formula("(select m.name from master m where m.code = code)")
@Basic(fetch=FetchType.LAZY)
private String name;
请问有没有其他好的解决办法?
用@transient可以吗?

对于第二个问题,请问有什么好的解决办法吗?
--------------------编程问答-------------------- 自己顶一下。 --------------------编程问答-------------------- 在顶一下。。。。。。。有人懂吗?
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,