【发布时间】:2012-01-06 10:55:52
【问题描述】:
我有两张桌子 表 A 表 B
表A包含
第 X 列 Y 列 Z 列 W栏
表 B 包含
P 列 Q栏 R 列 W栏
W 列在两个表中都很常见。
及其实体
第一个实体
@Entity
@Table(name = "A")
@Cache(usage=CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class TableA extends AbstractBaseEntity {
@Id
@NotNull
@Column(name = "X")
private Long sampleId1;
@Id
@NotNull
@Column(name = "Y")
private Long sampleId2;
@Id
@NotNull
@Column(name = "Z")
private Date sampleDate3;
@ManyToOne(targetEntity = TableB.class)
@JoinColumn(name = "W")
private TableB tableB;
...
getter
setter
....
}
第二个实体
@Entity
@Table(name = "TableB")
@Cache(usage=CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class TableB extends AbstractBaseEntity {
@Id
@NotNull
@Column(name = "W")
private Long sampleId4;
@Id
@NotNull
@Column(name = "P")
private Long sampleId1;
@Id
@NotNull
@Column(name = "Q")
private Long sampleId2;
@Id
@NotNull
@Column(name = "R")
private Long sampleId3;
...
getter
setter
....
}
我有一个编写所有查询的接口
Public interface sqlquery{
String query1 = "from TableA ORDER BY" +
sampleDate3 asc;";
String query2= "from TableB";
}
现在我在这些查询中分别获取所有数据, 我需要一些帮助来编写一个新的单个查询,其中数据应该基于 same ID 即 SampleId4(column W) 显示 使用 JOIN 子句和 where。 并将数据存储在结果列表中。
【问题讨论】:
-
看起来像 stackoverflow.com/questions/463349/… 的副本
标签: java sql oracle jpa hibernate-mapping