AlbumRepo.java 1.4 KB

123456789101112131415161718192021222324252627282930313233343536
  1. package cn.efunbox.audio.repository;
  2. import cn.efunbox.audio.entity.Album;
  3. import cn.efunbox.audio.repository.base.ProjectJpaRepository;
  4. import org.springframework.data.jpa.repository.JpaRepository;
  5. import org.springframework.data.jpa.repository.Query;
  6. import org.springframework.data.repository.query.Param;
  7. import org.springframework.stereotype.Repository;
  8. import javax.rmi.CORBA.PortableRemoteObjectDelegate;
  9. import java.math.BigInteger;
  10. import java.util.List;
  11. /**
  12. * Created by yao on 17-9-26.
  13. */
  14. @Repository
  15. public interface AlbumRepo extends ProjectJpaRepository<Album, BigInteger> {
  16. @Query(value = "select a.id From album a where a.name like concat('%',?1,'%')", nativeQuery = true)
  17. List<BigInteger> findIdsByNameLike(String name);
  18. @Query(value = "select * From album a where a.name like concat('%',?1,'%')", nativeQuery = true)
  19. List<Album> findByNameLike(String name);
  20. List<Album> findByIdIn(List<BigInteger> albumIds);
  21. @Query(value = "" +
  22. "select DISTINCT al.* FROM device d\n" +
  23. "JOIN channel c ON d.id_channel = c.id\n" +
  24. "JOIN rights r ON c.id = r.id_channel\n" +
  25. "JOIN audio au ON au.id_group = r.id_group\n" +
  26. "JOIN album al ON al.id = au.album_id where d.id_device = :idDevice order by al.id", nativeQuery = true)
  27. List<Album> findAlbum(@Param("idDevice") String idDevice);
  28. }