所以这是本机查询,如:
app.js
实体结构
select p.my_t_id from tl t
inner join p p
on p.id=t.p
where t.id=1
我无法找出其@Entity
class Tl{
private Long p;
}
@Entity
class P{
Long id;
MyObjClass obj;
}
@Entity
class MyObjClass{
Long myTId;
}
查询..
答案 0 :(得分:0)
由于T1和P没有关系,因此您必须使用笛卡尔连接。请参阅JPA规范中的第4.4.5节:http://download.oracle.com/otn-pub/jcp/persistence-2.0-fr-eval-oth-JSpec/persistence-2_0-final-spec.pdf
我无法真正翻译您的原生查询,因为您在SQL中引用了不在实体中的Tl和P上的id列。但请阅读规范,这应该可以让你到达目的地。
答案 1 :(得分:0)
正如我在评论中提到的,你必须拥有有意义的实体模型和关系。
像这样的事情(我对无意义的名字感到厌烦,你能给出更有意义的东西吗?)class Tl {
private Long id; // ID of Tl itself
private P p;
}
class P {
private Long id;
private MyObjClass objClass;
}
class MyObjClass {
private id; // map to column myTId
}
HQL看起来像
select tl.p.objClass.id from Tl tl