diff --git a/spring-data-jpa-1/initial/src/main/java/cholog/Customer.java b/spring-data-jpa-1/initial/src/main/java/cholog/Customer.java index 492197fc..1720c42c 100644 --- a/spring-data-jpa-1/initial/src/main/java/cholog/Customer.java +++ b/spring-data-jpa-1/initial/src/main/java/cholog/Customer.java @@ -1,7 +1,14 @@ package cholog; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; + +@Entity public class Customer { + @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String firstName; private String lastName; diff --git a/spring-data-jpa-1/initial/src/main/java/cholog/CustomerRepository.java b/spring-data-jpa-1/initial/src/main/java/cholog/CustomerRepository.java index 879c8fe8..fde49359 100644 --- a/spring-data-jpa-1/initial/src/main/java/cholog/CustomerRepository.java +++ b/spring-data-jpa-1/initial/src/main/java/cholog/CustomerRepository.java @@ -1,5 +1,16 @@ package cholog; -public interface CustomerRepository { +import org.springframework.data.repository.CrudRepository; +import org.springframework.stereotype.Repository; +import java.util.List; + +@Repository +public interface CustomerRepository extends CrudRepository { + + List findByLastName(String lastName); + + List findByLastNameIgnoreCase(String lastName); + + List findByLastNameOrderByFirstNameDesc(String lastName); } diff --git a/spring-data-jpa-1/initial/src/test/java/cholog/EntityManagerTest.java b/spring-data-jpa-1/initial/src/test/java/cholog/EntityManagerTest.java index 7fbc3638..68238b74 100644 --- a/spring-data-jpa-1/initial/src/test/java/cholog/EntityManagerTest.java +++ b/spring-data-jpa-1/initial/src/test/java/cholog/EntityManagerTest.java @@ -17,6 +17,8 @@ public class EntityManagerTest { @Autowired private JdbcTemplate jdbcTemplate; + @Autowired + private CustomerRepository customerRepository; /** * 비영속 -> 영속 @@ -34,12 +36,12 @@ void persist() { */ @Test void flush() { - String sqlForSelectCustomer = "select * from customer where id = 1"; - Customer customer = new Customer("Jack", "Bauer"); entityManager.persist(customer); customer.updateFirstName("Danial"); + String sqlForSelectCustomer = "select * from customer where id = " + customer.getId(); + Customer savedCustomer = jdbcTemplate.query(sqlForSelectCustomer, rs -> { rs.next(); return new Customer(