【问题标题】:Spring data JPA - Dynamic SQL ExecutionSpring data JPA - 动态 SQL 执行
【发布时间】:2019-08-05 15:12:53
【问题描述】:

我想执行 SQL ,它将在运行时完全构建,它可以查询架构中的任何表。

类似

@Repository public interface BaseRepository extends JpaRepository<Object, Integer> {        
    @Query(":dynamicSQL")   
    List<Object> dynamicExecution(@Param("dynamicSQL") String dynamicSQL);           
}

请建议如何实现

【问题讨论】:

标签: hibernate spring-boot spring-data-jpa entitymanager


【解决方案1】:

JpaRepository 不是为这样使用而设计的。如果要执行动态 SQL 查询,请使用 EntityManager。这是一个糟糕的设计,但如果你仍然想这样做,那么使用默认方法并像这样传递一个 EntityManager bean:

default List<?> dynamicExecution(EntityManager em, String sql) {
    return em.createNativeQuery(sql).getResultList();
}

【讨论】:

    猜你喜欢
    • 2015-01-27
    • 2019-02-20
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-05
    相关资源
    最近更新 更多