问题描述
抱歉我的菜鸟问题...
我想知道是否可以将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存储库中调用存储过程:
- 使用
@Procedure
注释JPA Documentation
public MyRepository extends JpaRepository<MyEntity,Long> {
@Procedure(procedureName = "mySP")
int callMyStoredProcedure(String procParam);
}
- 使用
@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中。
如何使用该问题是一个完全独立的问题,如果您尚不知道该怎么做,则应该打开一个问题。