Java 找到在Hibernate查询中为模型使用更好名称的方法
我正在使用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
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");