Hibernate:如何设置createNativeQuery的参数?

Hibernate:如何设置createNativeQuery的参数?,hibernate,named-query,hibernate-native-query,Hibernate,Named Query,Hibernate Native Query,我使用以下查询: public String getAmount(String userId, String companyId) { Integer amountList = entityManager.createNativeQuery("SELECT scan.attorney.Get_Amount(?, ?) AS amount FROM DUAL") .setParameter(1, companyId).setParameter(2,

我使用以下查询:

public String getAmount(String userId, String companyId) {
    Integer amountList = entityManager.createNativeQuery("SELECT scan.attorney.Get_Amount(?, ?) AS amount FROM DUAL")
                    .setParameter(1, companyId).setParameter(2, userId).getFirstResult();
    return amountList.toString();
}
当传递getAmount时,我们也传递userID和company ID,但它并没有获取正确的值。当我们在数据库中使用相同的值运行查询时,它获取的值是正确的

有人能提出上述本机查询的错误吗?

另一种方法

String sql = "select * from table where id = :id;"
Em.createNativeQuery(sql);

Sql.setParameter("id",id);
String sql = "select * from table where id = ?1;"
Em.createNativeQuery(sql);

Sql.setParameter(1,id);
另一种方式

String sql = "select * from table where id = ?1;"
Em.createNativeQuery(sql);

Sql.setParameter(1,id);