Aks*_*hay 5 mysql jpa criteria function
我的sql查询是这样的
\n\nSelect * from tableA order by FIELD(\'ID\', 3, 5, 2)
我如何在JPA使用中实现这一点criteria builder?
编辑
\n\nList<Integer> ordList = new ArrayList<Integer>();\nordList.add(3);\nordList.add(5);\nordList.add(2);\npublic\xc2\xa0List<Order> getOrderBys(CriteriaBuilder\xc2\xa0cb, Root<?>\xc2\xa0root) {\xc2\xa0\n List<Order>\xc2\xa0orders\xc2\xa0=\xc2\xa0new\xc2\xa0ArrayList<Order>();\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 \xc2\xa0\n orders.add(cb.function("FIELD", Integer.class, root.get("id"), ordList));\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0return\xc2\xa0orders;\xc2\xa0\n}\nRun Code Online (Sandbox Code Playgroud)\n\n上面是我的函数,它给出了订单列表,我只想添加一个与上面的 sql 查询相同的订单。如何在orders.add()方法中添加/调用该函数?上面的方法会报错。
我们可以与本机查询标志一起使用。例如。,
@Query(value="select * from table_name where id IN :id ORDER BY FIELD(id,:id)",nativeQuery = true)
List<Entity Name> getByIds(@Param("id") List<Integer> id);
Run Code Online (Sandbox Code Playgroud)