我正在尝试在hibernate中执行查询我正在使用StringBuffer进行查询。我在createNativeQuery(...)
上收到错误。当我将鼠标悬停在方法上时,它会显示
EntityManager类型中的createNativeQuery(String,Class)方法不适用于参数(StringBuffer,Class)。
我尝试将方法更改为createNamedQuery(..)
和createQuery(..)
,但它不起作用。有什么建议?以下是我的代码
EntityManager em = getEntityManager();
logger.info("In getTrafficProfileByCosClass2Allocations className :- " + cosClassAllocation );
Query query = em.createNativeQuery(queryByCos2Allocation, TrafficProfile.class);
query.setParameter(1, direction);
query.setParameter(2, cosClassAllocation.getCos1());
query.setParameter(3, cosClassAllocation.getCos2());
return (TrafficProfile) query.getResultList();
答案 0 :(得分:0)
createNativeQuery
方法需要String
作为第一个参数,可以从StringBuffer
轻松创建。
假设queryByCos2Allocation
是StringBuffer
,请更改此项:
Query query = em.createNativeQuery(queryByCos2Allocation, TrafficProfile.class);
对此:
Query query = em.createNativeQuery(queryByCos2Allocation.toString(), TrafficProfile.class);