Java Hibernate,使用createNativeQuery方法时出错

Java Hibernate,使用createNativeQuery方法时出错,java,sql,hibernate,Java,Sql,Hibernate,我试图在hibernate中执行查询,我正在使用StringBuffer进行查询。我在createNativeQuery(…)上遇到一个错误。当我将鼠标悬停在方法上时,它会显示 EntityManager类型中的方法createNativeQuery(String,Class)不适用于参数(StringBuffer,Class) 我尝试将方法更改为createNamedQuery(..)和createQuery(..),但它不起作用。有什么建议吗?下面是我的代码 EntityManage

我试图在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();

createNativeQuery
方法需要一个
String
作为第一个参数,可以从
StringBuffer
轻松创建该参数

假设
queryByCos2Allocation
是一个
StringBuffer
,将其更改为:

Query query = em.createNativeQuery(queryByCos2Allocation, TrafficProfile.class);
为此:

Query query = em.createNativeQuery(queryByCos2Allocation.toString(), TrafficProfile.class);

createNativeQuery
方法需要一个
String
作为第一个参数,可以从
StringBuffer
轻松创建该参数

假设
queryByCos2Allocation
是一个
StringBuffer
,将其更改为:

Query query = em.createNativeQuery(queryByCos2Allocation, TrafficProfile.class);
为此:

Query query = em.createNativeQuery(queryByCos2Allocation.toString(), TrafficProfile.class);