Java JPA不在声明中
我有一个使用MySQL、JPA和EclipseLink的应用程序 我试图从数据库中获取标记为活动的用户集合,这些用户集合不在应用程序中已加载的列表中 这就是我的方法:Java JPA不在声明中,java,mysql,jpa,eclipselink,Java,Mysql,Jpa,Eclipselink,我有一个使用MySQL、JPA和EclipseLink的应用程序 我试图从数据库中获取标记为活动的用户集合,这些用户集合不在应用程序中已加载的列表中 这就是我的方法: public List<User> findAllButUsers(List<User> users) { List<User> list = null; Query query = em.createQuery("SELECT u FROM User u WHERE u NO
public List<User> findAllButUsers(List<User> users) {
List<User> list = null;
Query query = em.createQuery("SELECT u FROM User u WHERE u NOT IN :users AND u.status = :status");
query.setParameter("status", "ACTIVE");
query.setParameter("users", users);
list = query.getResultList();
return list;
}
从bind=>[com.wa.gp.jpa.entities.User[iduser=2],ACTIVE]向我显示,它不绑定id,而是从User.toString方法传递值,从而生成一个包含传递的用户的集合。我认为只要将对象发送到JPA,它就可以自己找出iduser
我不知道这是否是一种预期的行为,在我看来是。我怎样才能在不必更改valor的情况下直接进行查询呢?我是否必须传递ID列表,而不是给出用户列表?如果是这样的话,我刚才说
谢谢
Fine: SELECT iduser, create_time, email, name, password, salt, status FROM user WHERE ((iduser NOT IN (?)) AND (status = ?))
bind => [com.wa.gp.jpa.entities.User[ iduser=2 ], ACTIVE]