LINUX.ORG.RU

[hibernate] Выборка по столбцу в таблицы

 


0

1

Здравствуйте.
Хочу немного разобраться с возможностями хибернейта, а именно с шаблонами hibernatetemplate.
Есть задачка выбрать все записи соответствующие критерию
Для выборки по id делается довольно просто

getHibernateTemplate().get(Distribution.class, id); 
Хочется иметь возможность выборки по определенному столбцу таблицы т.е. на чистом sql выглядело бы примерно так where column_name = 'test'; В hibernate можно использовать для таких целей либо собственный язык запросов либо критерии
session.createCriteria(Test.class).add(
                    Restrictions.eq("table_name", "name")).list();
Но такой запрос ни чем не лучше написания обычных sql запросов, т.к. если я переименую таблицу table_name мне придется переименовывать условие и в критерии поиска
Хочется сделать что то типа:
session.createCriteria(Test.class).add(
                    Restrictions.eq(Test.tableName, "name"))
Поле tableName конечно не статическое, но может быть можно разрулить это как то через рефликсию. Т.е. мне хотелось бы указать по какому столбцу производить поиск, но при этом если анотация в бине поменяется (например @Column(name = «lala»)) мне не пришлось бы менять сам критерий поиска.


Хибернейт темплейт тут не в тему. Гугли «JPA TypedQuery».

dizza ★★★★★
()

А вообще, если честно, то поставь себе нормальную IDE c поддержкой хибера и запросы она тебе переделает при переименовании полей. Советую IDEA.

dizza ★★★★★
()

select «columnname» from table t where ... вообщет на sql

TERRANZ ★★★★
()
Ответ на: комментарий от dizza

Спасибо за ответы, JPA TypedQuery буду смотреть.
К IDEA не могу привыкнуть, пробовал два раза перейти но все время возвращался на еклпис,хотя по функциональности она лучшее (maven проекты подхватывает на ура, поддержка spring'a отличная и еще много всяких плюсов)

n4ela
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.