Ошибка отображается Hibernate @NamedQuery - PullRequest
0 голосов
/ 26 апреля 2018

Привет всем, у меня есть Hibernate класс, как показано ниже:

@NamedQueries({
        @NamedQuery(name = "getUser", query = "from tuser u where u.username =:username and u.passwordHash = :password"),
        @NamedQuery(name = "getUserId", query = "select u.id from tuser u where u.username =:username"),
        @NamedQuery(name = "getAllUsers", query = "from tuser u where u.state='1'"),
        @NamedQuery(name = "loadUser", query = "from tuser u where u.username =:username"),
        @NamedQuery(name = "changeState",query="update tuser u SET u.state='0' where u.id=:id")
        })
@Entity
@Table(name = "tuser", catalog = "apw", uniqueConstraints = {
        @UniqueConstraint(columnNames = "username"),
        @UniqueConstraint(columnNames = "email") })
public class User implements java.io.Serializable {
}

1. Имя POJO: Пользователь2. Таблица Oracle: tuser (потому что у меня ошибка, если в качестве имени таблицы указать «user»)

Вот за услугу:

public interface UserService extends GenericService<User> {
    public void deleteUser(int id);
    public User loadUser(String username);
    public List<User> getAllUsers();
    User getUser(String username,String password);
}

Когда я запускаю программу, появляется ошибка, как показано ниже:

2018-04-26 11:30:14,610 [localhost-startStop-1] ERROR org.hibernate.internal.SessionFactoryImpl - HHH000177: Error in named query: loadTuser
org.hibernate.hql.internal.ast.QuerySyntaxException: tuser is not mapped [from tuser u where u.username =:username]
    at org.hibernate.hql.internal.ast.QuerySyntaxException.generateQueryException(QuerySyntaxException.java:96)
...
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: tuser is not mapped
    at org.hibernate.hql.internal.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:189)

<<< То же самое и для getAllUsers, deleteUser, getUser >>>

Наконец, мой вопрос: как сопоставить @NamedQuery с таблицей Oracle?

Спасибо, и я извиняюсь за плохой английский.

...