Java mySQL子查询到存储过程或JPA查询

Java mySQL子查询到存储过程或JPA查询,java,mysql,jpa,Java,Mysql,Jpa,(编辑1:不是日期,而是wc_事件日期) 我创建了一个可以完美执行的查询(带有子查询),但在将其转换为JPA查询或存储过程时遇到了困难 这是我的疑问: SELECT * FROM wc_Event WHERE (wc_Event.date > CURRENT_DATE()) AND wc_Event.evt_id IN ( SELECT event_users.evt_id FROM event_users WHERE event_users.usr_id = 1 ) O

(编辑1:不是日期,而是wc_事件日期) 我创建了一个可以完美执行的查询(带有子查询),但在将其转换为JPA查询或存储过程时遇到了困难

这是我的疑问:

SELECT * FROM wc_Event WHERE (wc_Event.date > CURRENT_DATE())
AND wc_Event.evt_id IN
( 
    SELECT event_users.evt_id FROM event_users
    WHERE event_users.usr_id = 1
)
ORDER BY wc_Event.date
我已针对存储过程尝试了以下方法:

CREATE PROCEDURE getFutureRegistredEvents
(
    my_user_id int    
)
BEGIN
SELECT * FROM wc_Event WHERE (wc_Event.date > CURRENT_DATE())
AND wc_Event.evt_id IN
( 
    SELECT event_users.evt_id FROM event_users
    WHERE event_users.usr_id = my_user_id
)
ORDER BY wc_Event.date
END
它告诉我在第13行(=END)使用正确的语法,但即使我在其中添加分号,我的查询也无法工作

我还尝试用JPA查询创建相同的效果,但没有效果

我做错了什么? 提前谢谢
Bert

您没有在SELECT语句的末尾添加分号。在创建存储过程时,必须更改分隔符,将其放在
分隔符//
分隔符的末尾您没有将分号放在SELECT语句的末尾。在创建存储过程时,必须更改分隔符,将其放在
分隔符//
分隔符的末尾