Hibernate:如何为createNativeQuery设置参数?

Hibernate: how to set parameters to createNativeQuery?

我正在使用以下查询:

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 时,我们也传递了用户 ID 和公司 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);