optional에 대해서 더 공부하기 http://homoefficio.github.io/2019/10/03/Java-Optional-%EB%B0%94%EB%A5%B4%EA%B2%8C-%EC%93%B0%EA%B8%B0/
-3) 해결 추가 (#todo)
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
Cannot lock Java compile cache as it has already been locked by this process
spring.datasource.url=jdbc:h2:tcp://localhost/~/h2DataBase/spring-qna;DB_CLOSE_DELAY=- 1;DB_CLOSE_ON_EXIT=FALSE
MerchandiseEntity pantsInDB = repo.findById(pantsId).get();
pantsInDB.setPrice(44.99);
repo.save(pantsInDB);
<input type="hidden" name="_method" value="PUT" />
JpaRepository는 PagingAndSortingRepository를 상속하고 PagingAndSortingRepository는 CrudRepository를 상속
JpaRepository는 CrudRepository에 (PagingAndSortingRepository기능인)페이징과 sorring records(어떤 기능인지 모르겠다) 에 더하여 JPA관련 메소드들을 제공한다. 필요한 과정에 따라 사용하면 될 것 같다.
실행해보니 CrudRepository의 findAll()결과는 Iterable\<> 인 것에 반해 JpaRepository는 findAll()은 List<>를 반환
Iteralbe을 List로 변환하기
@Test
public void whenConvertIterableToListUsingJava8_thenSuccess() {
List<String> result = new ArrayList<String>();
iterable.forEach(result::add);
assertThat(result, contains("john", "tom", "jane"));
}
html에서 for문 돌 때 Iterable도 가능