Java 找到在Hibernate查询中为模型使用更好名称的方法

Java 找到在Hibernate查询中为模型使用更好名称的方法,java,hibernate,Java,Hibernate,我正在使用hibernate。要构建查询,我使用块 try(Session session = getSession()) { session.beginTransaction(); Query query = session.createQuery("from Vendor where name = :name"); query.setParameter("name", name); List<Vendor> vendors = query.list

我正在使用hibernate。要构建查询,我使用块

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);
}
try(Session=getSession()){
session.beginTransaction();
Query Query=session.createQuery(“来自供应商,其中name=:name”);
query.setParameter(“name”,name);
List vendors=query.List();
session.getTransaction().commit();
返回供应商。获取(0);
}
但是
vendors
是模型名,我想使用
vendors
作为表名,因此查询“读取正确”

在我的
hibernate.cfg.xml
中,我有以下行:


有没有办法在Hibernate 5.3中使用供应商的名称?还是我在查询时一直使用这个笨拙的名称?

如果要使用物理表名称,请使用should
createNativeQuery

Query query = session.createNativeQuery("from vendors where name = :name");
除了非常复杂的查询之外,推荐的方法是使用Hibrate JPA

如果确实要使用本机查询,请将本机查询存储在某个位置,并使用
namedQuery

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