Как получить значение одного столбца с помощью проекции гибернации - PullRequest
0 голосов
/ 06 мая 2020

У меня есть класс модели, как показано ниже:

    @Entity
    @Table(name = "User")
    public class UserModel implements Serializable{

private static final long serialVersionUID = 204096185700135310L;

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "user_id", unique = true, nullable = false)
private Integer userId;

@Column(name = "user_login_name")
private String userLoginName;

@Column(name = "user_email_id")
private String userEmailId;

@Column(name = "user_password")
private String userPassword;

}

, и я пишу критерии с проекцией для получения userLoginName на основе userId, например SELECT user_login_name from USER, где user_id = 1:

   public UserModel getUserByUserName(Integer userId) {
    return (UserModel) HibernateService.getSession(sessionFactory)
            .createCriteria(UserModel.class)
            .setProjection(Projections.projectionList()
                    .add(Projections.property("userLoginName"), "userLoginName"))
            .add(Restrictions.eq(AppConstant.USER_Id, userId))
            .uniqueResult();
}

Но он выбрасывает java .lang.String не может быть преобразован в исключение com.app.aus.model.UserModel . может кто-нибудь помочь мне здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...