我正在尝试做:
String sql = "SELECT email FROM users WHERE (type like 'B') AND (username like '?1')"; List results = em.createNativeQuery(sql).setParameter(1, username).getResultList();
但是我得到了IllegalArgumentException,它告诉我参数超出范围。我究竟做错了什么?
参数周围不应有引号。尝试以下方法:
String sql = "SELECT email FROM users WHERE (type like 'B') AND (username like ?1)";
您可能还需要仔细检查您的真实意思,type like 'B'因为这可能并没有按照您的想象做。
type like 'B'