Spring Data JPA Repositories Query Methods

Query creation from method names: public interface UserRepository extends Repository { List findByEmailAddressAndLastname(String emailAddress, String lastname); } select u from User u where u.emailAddress = ?1 and u.lastname = ?2 [code lang=”xml”] Keyword Sample JPQL snippet And findByLastnameAndFirstname … where x.lastname = ?1 and x.firstname = ?2 Or findByLastnameOrFirstname … where x.lastname = ?1 or x.firstname = ?2 Is,Equals findByFirstname,findByFirstnameIs,findByFirstnameEquals … where x.firstname = 1? Between findByStartDateBetween … where x.startDate between 1? and ?2 LessThan findByAgeLessThan … where x.age < ?1 LessThanEqual findByAgeLessThanEqual … where x.age <= ?1 GreaterThan findByAgeGreaterThan … where x.age > ?1 GreaterThanEqual findByAgeGreaterThanEqual … where x.age >= ?1 After findByStartDateAfter … where x.startDate > ?1 Before findByStartDateBefore … where x.startDate < ?1 IsNull findByAgeIsNull … where x.age is null IsNotNull,NotNull findByAge(Is)NotNull … where x.age not null Like findByFirstnameLike … where x.firstname like ?1 NotLike findByFirstnameNotLike … where x.firstname not like ?1 StartingWith findByFirstnameStartingWith … where x.firstname like ?1 (parameter bound with appended %) EndingWith findByFirstnameEndingWith … where x.firstname like ?1 (parameter bound with prepended %) Containing findByFirstnameContaining … where x.firstname like ?1 (parameter bound wrapped in %) OrderBy findByAgeOrderByLastnameDesc … where x.age = ?1 order by x.lastname desc Not findByLastnameNot … where x.lastname <> ?1 In findByAgeIn(Collection<Age> ages) … where x.age in ?1 NotIn findByAgeNotIn(Collection<Age> age) … where x.age not in ?1 True findByActiveTrue() … where x.active = true False findByActiveFalse() … where x.active = false IgnoreCase findByFirstnameIgnoreCase … where UPPER(x.firstame) = UPPER(?1) [/code] You can refer to this site for more information. [code lang=”java”] package net.yazilimcity.integration.repository; import net.yazilimcity.integration.entity.Store; import org.springframework.data.jpa.repository.JpaRepository; import java.math.BigDecimal; import java.util.List; import java.util.UUID; /** * This interface provide data access * * @author oguzhankinik */ public interface StoreRepository extends JpaRepository<Store, UUID> { List<Store> findAllByCompanyCode(BigDecimal companyCode); Store getFirstByStoreCodeAndDeletedIsFalse(String code); } @Entity @Table(name = "ACP_STORE") public class Store { private BigDecimal companyCode; private boolean deleted; @Basic @Column(name = "COMPANY_CODE") public BigDecimal getCompanyCode() { return companyCode; } public void setCompanyCode(BigDecimal companyCode) { this.companyCode = companyCode; } @Basic @Column(name = "DEL_F") @Convert(converter = BooleanToStringConverter.class) public boolean isDeleted() { return deleted; } public void setDeleted(boolean deleted) { this.deleted = deleted; } } [/code]]]>

Leave a Reply

Your email address will not be published. Required fields are marked *