是否可以将spring data jpa与spring data jdbc一起使用?

问题描述

抱歉我的菜鸟问题...

我想知道是否可以将spring data jdbc与spring data jpa一起使用... 如果是,应该如何设置配置?

我正在处理一个使用spring数据jpa的项目,我需要调用一个使用填充了内存的临时表的过程...我不知道使用spring数据jpa可以做到这一点,我在想用jdbc做到这一点...

我需要在spring数据jpa或jdbc中执行以下步骤:

attributes: { embed: { provider: "data-plyr-provider",id: "data-plyr-embed-id" } },

解决方法

有几种方法可以从JPA存储库中调用存储过程:

  1. 使用@Procedure注释JPA Documentation
public MyRepository extends JpaRepository<MyEntity,Long> {
    @Procedure(procedureName = "mySP")
    int callMyStoredProcedure(String procParam);
}
  1. 使用@Query注释作为本机查询:
@Query(value = "CALL FIND_MY_ENTITY(:proc_param);",nativeQuery = true)
List<MyEntity> findEntitesByParam(@Param("proc_param") String procParam);
,

是的,您可以一起使用Spring Data JPA和Spring Data JDBC。 Spring Boot将为您完成配置,您只需确保由Spring Data JDBC处理的所有实体都带有@Table批注。

但这不是您想要的。

您想要的是Spring JDBC(其中没有DATA)。它是Spring Framework本身的一部分,尤其是您需要JdbcTemplate。同样,在包含Spring Boot Starter JDBC时,Boot基本上应该完成所有配置。

只需在需要的地方插入JdbcTemplate并进行编码即可。 一种选择是在custom method in your Spring Data JPA repository中。

如何使用该问题是一个完全独立的问题,如果您尚不知道该怎么做,则应该打开一个问题。