在我们的应用程序中,我们有许多本机查询(通常,总体而言,当我们需要使用动态视图执行一些JOIN,LEFT JOIN或FROM子句时)。 此外,许多EJB中都重复了许多查询,但它们唯一改变的只是WHERE子句中的某些条件。显然,我们希望避免仅在最后更改某些愚蠢的过滤参数时重复所有这些本机查询,因此可以使用Hibernate EntityManager在某些条件下动态添加WHERE子句吗?
我知道,通过实体和JPQL,我们可以首先使用CriteriaBuilder
,然后使用CriteriaQuery<T>
,最后,通过添加一些Predicate
,可以得到完整的TypedQuery<T>
来执行。但是,使用NATIVE查询能否达到相同的目标?