mirror of
https://github.com/spring-projects/spring-petclinic.git
synced 2025-07-17 13:05:49 +00:00
Add Spring Data implementation of extended repositories
This commit is contained in:
parent
a9563d60f0
commit
80aa6ad178
5 changed files with 77 additions and 0 deletions
|
@ -0,0 +1,24 @@
|
|||
package org.springframework.samples.petclinic.repository.springdatajpa;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.Repository;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
import org.springframework.samples.petclinic.model.Owner;
|
||||
import org.springframework.samples.petclinic.repository.OwnerRepositoryExt;
|
||||
|
||||
@Qualifier("OwnerRepositoryExt")
|
||||
public interface SpringDataOwnerRepositoryExt extends OwnerRepositoryExt, Repository<Owner, Integer> {
|
||||
|
||||
@Override
|
||||
@Query("SELECT DISTINCT owner FROM Owner owner left join fetch owner.pets WHERE owner.lastName LIKE :lastName%")
|
||||
public Collection<Owner> findByLastName(@Param("lastName") String lastName);
|
||||
|
||||
@Override
|
||||
@Query("SELECT owner FROM Owner owner left join fetch owner.pets WHERE owner.id =:id")
|
||||
public Owner findById(@Param("id") int id);
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
package org.springframework.samples.petclinic.repository.springdatajpa;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.dao.DataAccessException;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.Repository;
|
||||
import org.springframework.samples.petclinic.model.Pet;
|
||||
import org.springframework.samples.petclinic.model.PetType;
|
||||
import org.springframework.samples.petclinic.repository.PetRepositoryExt;
|
||||
|
||||
@Qualifier("PetRepositoryExt")
|
||||
public interface SpringDataPetRepositoryExt extends PetRepositoryExt, Repository<Pet, Integer> {
|
||||
|
||||
@Override
|
||||
@Query("SELECT ptype FROM PetType ptype ORDER BY ptype.name")
|
||||
List<PetType> findPetTypes() throws DataAccessException;
|
||||
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
package org.springframework.samples.petclinic.repository.springdatajpa;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.data.repository.Repository;
|
||||
import org.springframework.samples.petclinic.model.Specialty;
|
||||
import org.springframework.samples.petclinic.repository.SpecialtyRepositoryExt;
|
||||
|
||||
@Qualifier("SpecialtyRepositoryExt")
|
||||
public interface SpringDataSpecialtyRepositoryExt extends SpecialtyRepositoryExt, Repository<Specialty, Integer> {
|
||||
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
package org.springframework.samples.petclinic.repository.springdatajpa;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.data.repository.Repository;
|
||||
import org.springframework.samples.petclinic.model.Vet;
|
||||
import org.springframework.samples.petclinic.repository.VetRepositoryExt;
|
||||
|
||||
@Qualifier("VetRepositoryExt")
|
||||
public interface SpringDataVetRepositoryExt extends VetRepositoryExt, Repository<Vet, Integer> {
|
||||
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
package org.springframework.samples.petclinic.repository.springdatajpa;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.data.repository.Repository;
|
||||
import org.springframework.samples.petclinic.model.Visit;
|
||||
import org.springframework.samples.petclinic.repository.VisitRepositoryExt;
|
||||
|
||||
@Qualifier("VisitRepositoryExt")
|
||||
public interface SpringDataVisitRepositoryExt extends VisitRepositoryExt, Repository<Visit, Integer> {
|
||||
|
||||
}
|
Loading…
Reference in a new issue