Проблема с консультацией JPQL + JPA + JSF + EJB

@Override

public Usuario iniciarSesion(Usuario us){

    Usuario usuario = null;
    String consulta;

    try {
        consulta = "FROM usuario u WHERE u.usuario = ?1 and u.password =?2";
        Query query = em.createQuery(consulta);
        query.setParameter(1, us.getUsuario());
        query.setParameter(2, us.getPassword());
        List<Usuario> lista = query.getResultList();

        if (!lista.isEmpty()) {
            usuario = lista.get(0);

        }

    } catch (Exception e) {
        throw e;

    }
    return usuario;

introducir la descripción de la imagen aquí

я получаю следующую ошибку

Caused by: Exception [EclipseLink-0] (Затмение Персистенсе Сервисес - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions. JPQLException

Exception Description: Problem compiling [FROM пользователь или WHERE u.usuario =? 1 and u.password =? 2].

[5, 12] The abstract schema type 'пользователь' is unknown.

[21, 30] The state field path 'u.usuario' cannot be решите to в valid type.

[40, 50] The state field path 'u.password' cannot be решите to в valid type.

2
задан 18.08.2019, 23:18
2 ответа

Параметры должны быть цепью, попытайся менять их

try {
    consulta = "FROM usuario u WHERE u.usuario = :1 and u.password =:2";
    Query query = em.createQuery(consulta);
    query.setParameter("1", us.getUsuario());
    query.setParameter("2", us.getPassword());
    List<Usuario> lista = query.getResultList();

    if (!lista.isEmpty()) {
        usuario = lista.get(0);

    }

} catch (Exception e) {
    throw e;

}
1
ответ дан 03.12.2019, 19:34

The abstract schema type 'пользователь' is unknown.

В консультации From пользователь или..., первая буква 'пользователя' находится в строчной букве, и в твоей организации он в прописной букве 'Пользователе'.

5
ответ дан 03.12.2019, 19:34
  • 1
    Быть и # 237; в необходимый видеть mapeo организации Пользователь, чтобы быть уверены. Но в принципе, если, что кажется ошибкой tipogr и # 225; fico. – Victor Gimeno 25.10.2016, 14:24
  • 2
    ¿ Ошибка tipográ fico или незнание со стороны OP? В SQL он не отличается между mayú sculas и minú sculas если только ты не используешь двойные кавычки в именах – Pablo Lozano 25.09.2019, 11:26