2017-01-17 10 views
0

Может ли кто-нибудь объяснить, можно ли использовать весеннюю хранимую процедуру с репозиторием весеннего crud или хранилищем подкачки, по крайней мере, для части извлечения данных?как использовать функцию хранения весны с хранилищем данных весны

Я пытаюсь интегрировать существующий код, который использует весеннюю хранимую процедуру с весенним репозиторием. но я не хочу использовать JPA.

ответ

0

Вы можете вызвать хранимую процедуру в Spring Data JPA, как показано ниже

Первых Объявите хранимую процедуру в Entity

@Entity 
@Table(name = "MY_TABLE") 
@NamedStoredProcedureQueries({ 
    @NamedStoredProcedureQuery(name = "proc_with_input", 
           procedureName = "pkg.proc_with_input", 
           parameters = { 
           @StoredProcedureParameter(mode = ParameterMode.IN, name = "inputParam", type = String.class) 
           }), 
    @NamedStoredProcedureQuery(name = "proc_with_input_output", 
           procedureName = "pkg.proc_with_input_output", 
           parameters = { 
           @StoredProcedureParameter(mode = ParameterMode.IN, name = "inputParam", type = String.class), 
           @StoredProcedureParameter(mode = ParameterMode.OUT, name = "outputParam", type = String.class) 
           }) 
}) 
public class MyTable implements Serializable { 
    // Table properties 

    // Setters and Getters 
} 

взывает к прокам в reporsitory интерфейса JPA, как показано ниже.

public interface MyTableRepository extends CrudRepository<MyTable, Long> { 

    @Procedure(name = "proc_with_input") 
    public void inOnlyTest(@Param("inputParam") String inputParam); 

    @Procedure(name = "proc_with_input_output") 
    public String inAndOutTest(@Param("inputParam") String inputParam); 
} 
+0

OP не хочет использовать JPA –

0

Нет официального модуля Spring Data, который работает непосредственно с jdbc без JPA.

Но есть проект с открытым исходным кодом https://github.com/jirutka/spring-data-jdbc-repository, который пытается это сделать, хотя кажется несколько застойным. Поскольку вы фактически создаете подклассы, он должен иметь возможность добавлять/переопределять методы с теми, которые используют шаблон хранимой процедуры/jdbc, поскольку все, что вам нужно для этого, это DataSource.

+0

спасибо, попробуем это – shiva