如何在运行时检查是否声明了NamedNativeQuery

时间:2017-09-29 12:59:39

标签: java hibernate named-query

在Hibernate中,有没有办法在调用之前检查给定的@NamedNativeQuery是否存在: Session.getNamedQuery("queryName");

我在运行时编写Query的名称,所以我需要一种方法来查找它是否存在,以避免以下异常:

  

MappingException:未知的命名查询:queryName

1 个答案:

答案 0 :(得分:-1)

使用方法getNamedParameters()检查查询的所有命名参数的名称。

更新:目前检查具有给定名称的命名查询是否存在的唯一方法是调用EntityManager.createNamedQuery(…)。可以通过抛出异常来表示不存在查询。