Поиск способа использовать лучшее имя для модели в запросе Hibernate - PullRequest
0 голосов
/ 22 мая 2018

Я использую спящий режим.Для построения запроса я использую блок

try(Session session = getSession()) {
    session.beginTransaction();
    Query query = session.createQuery("from Vendor where name = :name");
    query.setParameter("name", name);
    List<Vendor> vendors = query.list();
    session.getTransaction().commit();
    return vendors.get(0);
}

Но Vendor - это название модели, и я хотел бы использовать vendors, имя таблицы, поэтому запрос «правильно читает».

В моем hibernate.cfg.xml есть следующая строка:

<mapping class="com.mysite.vendor" />

Есть ли способ использовать имя vendors в Hibernate 5.3?Или я застрял с этим неуклюжим именем в моих запросах?

1 Ответ

0 голосов
/ 22 мая 2018

Если вы хотите использовать физическое имя таблицы, используйте следующую команду: createNativeQuery

Query query = session.createNativeQuery("from vendors where name = :name");

Рекомендуется использовать hiberate JPA, за исключением очень сложного запроса.

Если вы действительно хотите использоватьнативный запрос, где-то хранится нативный запрос и используется namedQuery

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