将命名查询转换为本机查询

时间:2013-11-22 07:29:45

标签: java sql named-query nativequery

我有2个单独的表映射到SharedThing和TeamMember。

我有以下命名查询;

SELECT sharedThing 
FROM SharedThing sharedThing,
     TeamMember teamMember 
WHERE teamMember.sharedId = sharedThing.sharedId 
  AND teamMember.userId = :userId

所以我将userId作为参数传递。

如何将相同的内容转换为本机sql查询?

2 个答案:

答案 0 :(得分:1)

假设shared_thing表映射到SharedThing实体,而team_member映射到TeamMember

SELECT st.*
FROM shared_thing st
JOIN team_member tm on tm.shared_id = st.id and tm.user_id = ?1

答案 1 :(得分:0)

使用join语法和*选择表格的所有列

select s.*
from SharedThing s
inner join TeamMember t on t.sharedId = s.sharedId 
where t.userId = 123