spring data jpa : query creation
This commit is contained in:
@@ -32,6 +32,11 @@ public class Member {
|
||||
}
|
||||
}
|
||||
|
||||
public Member(String username, int age) {
|
||||
this.username = username;
|
||||
this.age = age;
|
||||
}
|
||||
|
||||
public void changeTeam(Team team) {
|
||||
this.team = team;
|
||||
team.getMembers().add(this);
|
||||
|
||||
@@ -41,4 +41,11 @@ public class MemberJpaRepository {
|
||||
public Member find(Long id) {
|
||||
return em.find(Member.class, id);
|
||||
}
|
||||
|
||||
public List<Member> findByUsernameAndAgeGreaterThan(String username, int age) {
|
||||
return em.createQuery("select m from Member m where m.username = :username and m.age > :age", Member.class)
|
||||
.setParameter("username", username)
|
||||
.setParameter("age", age)
|
||||
.getResultList();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,5 +3,9 @@ package com.example.springdatajpa.repository;
|
||||
import com.example.springdatajpa.entity.Member;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface MemberRepository extends JpaRepository<Member, Long> {
|
||||
|
||||
List<Member> findByUsernameAndAgeGreaterThan(String username, int age);
|
||||
}
|
||||
|
||||
@@ -58,4 +58,18 @@ class MemberJpaRepositoryTest {
|
||||
long deleteCount = memberJpaRepository.count();
|
||||
assertEquals(0, deleteCount);
|
||||
}
|
||||
|
||||
@Test
|
||||
void findByUsernameAndAgeGreaterThen() {
|
||||
Member m1 = new Member("aaa", 10);
|
||||
Member m2 = new Member("aaa", 20);
|
||||
memberJpaRepository.save(m1);
|
||||
memberJpaRepository.save(m2);
|
||||
|
||||
List<Member> result = memberJpaRepository.findByUsernameAndAgeGreaterThan("aaa", 15);
|
||||
|
||||
assertEquals("aaa", result.get(0).getUsername());
|
||||
assertEquals(20, result.get(0).getAge());
|
||||
assertEquals(1, result.size());
|
||||
}
|
||||
}
|
||||
@@ -58,4 +58,18 @@ public class MemberRepositoryTest {
|
||||
long deleteCount = memberRepository.count();
|
||||
assertEquals(0, deleteCount);
|
||||
}
|
||||
|
||||
@Test
|
||||
void findByUsernameAndAgeGreaterThen() {
|
||||
Member m1 = new Member("aaa", 10);
|
||||
Member m2 = new Member("aaa", 20);
|
||||
memberRepository.save(m1);
|
||||
memberRepository.save(m2);
|
||||
|
||||
List<Member> result = memberRepository.findByUsernameAndAgeGreaterThan("aaa", 15);
|
||||
|
||||
assertEquals("aaa", result.get(0).getUsername());
|
||||
assertEquals(20, result.get(0).getAge());
|
||||
assertEquals(1, result.size());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user