Список передачи JPA в предложение IN в именованном собственном запросе

Я знаю, что могу передать список именованному запросу в JPA, но как насчет NamedNativeQuery? Я пробовал много способов, но все еще не могу просто передать список в NamedNativeQuery. Кто-нибудь знает, как передать список в предложение in в NamedNativeQuery? Большое спасибо!

NamedNativeQuery выглядит следующим образом:

@NamedNativeQuery(
   name="User.findByUserIdList", 
   query="select u.user_id, u.dob, u.name, u.sex, u.address from user u "+
         "where u.user_id in (?userIdList)"
)

и называется он так:

List<Object[]> userList = em.createNamedQuery("User.findByUserIdList").setParameter("userIdList", list).getResultList();

Однако результат не такой, как я ожидал.

System.out.println(userList.size());  //output 1

Object[] user = userList.get(0);
System.out.println(user.length);   //expected 5 but result is 3
System.out.println(user[0]);       //output MDAVERSION which is not a user_id
System.out.println(user[1]);       //output 5
System.out.println(user[2]);       //output 7
28
задан Li Ho Yin 8 June 2011 в 11:10
поделиться