2012-01-25 6 views
0

У меня есть небольшое приложение java, которое подключается к базе данных MS Sql Server через Hibernate.Hibernate не возвращает существующие данные

У меня есть таблица с именем пользователя, которая имеет 3 столбца, имя пользователя, пароль и адрес электронной почты.

У меня есть модель POJO под названием UserModel, у которой есть геттеры и сеттер для имени пользователя и пароля.

Использование hibernate, мой код выполняет поиск в базе данных, передает имя пользователя и пароль и возвращает объект UserModel.

Что мне нужно:

Я хочу, чтобы избавиться от необходимости передавать в запросе, например, пароль

List<UserModel> UserModels = null; 
    UserModel model = new UserModel(); 
    model.setName(Username); 
    //model.setPassword(password); <-- want to remove the need for this 
    UserModels = getUserModelManager().find(model); 

Несмотря на то, что я знаю данные, мой запрос ничего не возвращает.

Может ли кто-нибудь предположить, почему ничего не возвращается?

Любое предложение приветствуется.

+0

Нам нужно посмотреть, как выглядит UserModelManager #. –

ответ

0

Я думаю, вам нужно использовать HQL.

Query query = session.createQuery("from UserModel where password = :password "); 
query.setParameter("password", password); 
List<UserModel> list = query.list(); 
+0

Спасибо за ваш ответ, но я не уверен, что так я должен это делать. Строка возвращается с передачей пользователю и паролю без необходимости писать какой-либо код в код. Не понимаю, почему код не возвращает строку на основе имени пользователя. – TheCoder

+0

Первый из все это не SQL, а HQL. И это способ запроса данных по атрибуту. Во-вторых, я не знаю, что такое getUserModelManager. –

+0

Я перестроил и перераспределил свой код, и он сработал. Строка была возвращена путем передачи только имени пользователя. – TheCoder

Смежные вопросы