我需要在Spring Data Repository中使用原始SQL,这可能吗?我看到的一切@Query都是基于实体的.
我是一个Play框架应用程序Developer.I我在JPA中使用createNativeQuery方法.在这个例子中,我想使用预准备语句.请有人帮帮我吗?这是没有JPA的代码.我需要帮助才能将其转换为Prepared语句.
Query query = JPA.em().createNativeQuery("select count(*) from truck t inner join" +
    "box b where t.truck_id=b.truck_id and t.shipment_upc='" + code + "'");
BigInteger val = (BigInteger)query.getSingleResult();
System.out.println(val);
我正在尝试使用名为的序列对 MariaDb 10.3 参数化 @Query 方法F0001
在本教程的第 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
我在这里缺少什么?
谢谢。
PS:我看到了这篇文章,但示例没有使用@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 …