【发布时间】:2018-02-17 06:10:02
【问题描述】:
一个表:NAME (varchar2), AGE (varchar2), ID_NO (varchar2)
B 表:NAME (varchar2), ADDRESS (varchar2)
我得到了这样的实体
@Entity
public calss A {
@Column(name="NAME")
private String name;
@Column(name="AGE")
private String age;
@Column(name="ID_NO")
private String idNo;
@Column(name="ADDRESS")
private String address;
}
当我执行这段代码时:
session.createsqlQuery("SELECT * FROM A ").addEntity(A.clss).uniqueResult();
我得到 SQLException 意味着地址列不存在。而且我不想把@Transient放到Address列,因为我希望我可以像这样使用这个实体来使用B表:
session.createsqlQuery("SELECT * FROM B ").addEntity(A.clss).uniqueResult();
如何才能成功获得此结果?
【问题讨论】:
-
为什么不创建类
B,扩展A并在B上移动字段地址? -
您有 2 个表和一个不代表这两个表的实体。你需要的是一个教程。甚至可能有几个教程。
-
我认为 Hibernate 不允许这样做。您可以查看答案here。
-
@AlbertBos 你说得对,我唯一能做的办法,谢谢~