package com.hantsylabs.example.spring.jpa; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; import org.springframework.data.querydsl.QueryDslPredicateExecutor; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; import com.hantsylabs.example.spring.model.Conference; @Repository public interface ConferenceRepository extends ConferenceRepositoryCustom, JpaRepository<Conference, Long>, JpaSpecificationExecutor<Conference>, QueryDslPredicateExecutor<Conference> { Conference findBySlug(String slug); @Query("from Conference where name=?1") public List<Conference> searchByConferenceName(String name); @Query("from Conference where name=:name") public List<Conference> searchByNamedConferenceName(@Param("name") String name); @Query public List<Conference> searchByMyNamedQuery(String name); public List<Conference> findByAddressCountry(String country); public List<Conference> findByDescriptionLike(String desc); @Query("update Conference conf set conf.description=?1 where conf.id=?2 ") @Modifying public void modifyConferenceDescrition(String description, Long id); }