Я пытаюсь получить некоторые конкретные столбцы, используя спящий режим, но этот запрос всегда терпит неудачу.Spring Hibernate получить выбранные столбцы
@Override
public Users findByEmail(String emailID) {
// TODO Auto-generated method stub
try{
List<Users> users = new ArrayList<Users>();
users = this.sessionFactory.getCurrentSession().createQuery("SELECT userID, firstName, lastName, imageURL, password, emailID, enabled FROM Users WHERE emailID = :email_ID")
.setParameter("email_ID", emailID).list();
if(users.size() > 0)
return (Users)users.get(0);
else
return null;
}
catch(Exception exc)
{
log.error(exc.getMessage());
return null;
}
}
Этот запрос всегда терпит неудачу, поэтому я использую ниже запрос
@Override
public Users findByEmail(String emailID) {
// TODO Auto-generated method stub
try{
List<Users> users = new ArrayList<Users>();
users = this.sessionFactory.getCurrentSession().createQuery("FROM Users WHERE emailID = :email_ID")
.setParameter("email_ID", emailID).list();
if(users.size() > 0)
return (Users)users.get(0);
else
return null;
}
catch(Exception exc)
{
log.error(exc.getMessage());
return null;
}
}
Как я могу получить только определенные столбцы, используя спящий режим, а не получать 20s колонн?
Но я хочу вернуть объект 'users', так как я использую его для аутентификации входа с использованием весенней безопасности. –
Если вы хотите, чтобы объект 'User' не ожидал получить все связанные с ним столбцы? –
@ ХаршитШривастава, пожалуйста, см. Обновленный ответ – xrcwrn