2017-11-16 1 views
1

Ich bin neu in Spring und möchte JpaRepository auf generische Weise verwenden, so dass ich die gleiche Schnittstelle verwenden kann für alle. Bitte schlagen Sie einige Beispiele vor. Thanks :)Ich möchte Spring JPAR Repository in generischer Weise verwenden, so dass die gleiche Codezeile ich nicht für alle entitties schreiben muss

Wie ich habe 2 Einheiten Employee.java & Student.java

@Repository 
public interface EmployeeRepo<T, ID extends Serializable> extends JpaRepository<Employee, ID> { 

} 
+0

Sie brauchen nicht '@ Repository', aber Sie brauchen eine Schnittstelle pro Entitätstyp wegen der generischen Löschung (und allgemeiner, weil Spring nicht unbedingt weiß, welche Typen Sie möchten Repository für). – chrylis

+0

Duplizieren: https://stackoverflow.com/questions/31753125/generic-crud-in-spring-data-jpa/47322730#47322730 –

Antwort

0

Es gibt keine Möglichkeit, dies in Spring Data zu tun. Die inneren Mechaniken von Spring Data benötigen die Typparameter aus der Schnittstellendefinition und wenn es keine Schnittstellendefinition mit bestimmten Typparametern gibt, steht nur die Typparameter (Object im Zweifelsfall) zur Verfügung, die nicht verwendbar ist.

Außerdem sollten Sie kein Repository pro Entity haben, sondern pro Aggregat. Siehe diese Antwort für Details: Are you supposed to have one repository per table in JPA?

Verwandte Themen