【发布时间】:2016-09-10 13:04:01
【问题描述】:
我在使用 hibernate/HQL 时遇到了一个错误
我的表是 table1(id, data),其中 id -> 主键和 table2(id, anotherdata),其中 id -> 对 table1.id 的外键引用。
头等舱->
@Entity
@Table(name = "table1")
public class Table1 {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private int id;
@Column(name = "data")
private String data;
@OneToOne
private Table2 table2;
//construct, get, set
}
二等->
@Entity
@Table(name = "table2")
public class Table2 {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private int id;
@Column(name = "anotherdata")
private String data;
//get, set, construct
}
HQL 查询是 SELECT t1.id, t1.data, t2.data FROM Table1 as t1 JOIN t1.table2 as t2
休眠日志:select t1.id, t1.data, t2.anotherdata from table1 t1 inner join table2 on t1.t2_id = t2.id
这会导致错误ERROR: column t1.t2__id does not exist
在这个语句的末尾“on t1.t2_id = t2.id”我应该有“on t1.id = t2.id”(纯sql)
我该如何解决这个问题?将感谢您的所有回答!
【问题讨论】:
标签: java postgresql hibernate join