我正在尝试使用名为
在此教程的第5.2节中有以下示例: 5.2.本地化查询 本地化查询的索引参数与JPQL完全相同:
但是当我尝试做同样的事情(使用一个序列)时
尽管序列在数据库中正确设置,但它对我无效。
我在这里漏掉了什么?
谢谢。
附注:我看到了this post,但示例没有使用
F0001
的序列来参数化针对MariaDb 10.3的@Query方法。在此教程的第5.2节中有以下示例: 5.2.本地化查询 本地化查询的索引参数与JPQL完全相同:
@Query(
value = "SELECT * FROM Users u WHERE u.status = ?1",
nativeQuery = true)
User findUserByStatusNative(Integer status);
但是当我尝试做同样的事情(使用一个序列)时
@Query(value = "SELECT NEXTVAL(?1)", nativeQuery = true)
Long getNextSequenceByFleetId(String fleetId);
尽管序列在数据库中正确设置,但它对我无效。
SELECT NEXTVAL(F0001) --> returns nextval 2
我在这里漏掉了什么?
谢谢。
附注:我看到了this post,但示例没有使用
@Query
注释。
更新:
根据评论区@JB Nizet的建议,我尝试使用SpEL:
https://spring.io/blog/2014/07/15/spel-support-in-spring-data-jpa-query-definitions
@Query("select u from User u where u.age = ?#{[0]}")
List<User> findUsersByAge(int age);
我已尝试以下操作:
@Query(value = "SELECT NEXTVAL(?#{[0]})", nativeQuery = true)
Long getNextSequenceByFleetId(String fleetId);
但遗憾的是...
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''F0001')' at line 1