아직 하이버네이트에 대해서는 테스트해보지 않았지만, 이클립스링크에서 문제가 발생하므로, 비슷한 처리를 하는 하이버네이트에서도 똑같은 문제가 있을 것이다.
엔티티에
특히 가장 중요한 stream이 동작하지 않는다.
Aㅏ... 망했어요.
이보시오, 이보시오! JPA양반! 그게 무슨 소리요! Stream이 고자라니!
뭐 별 거 있나, wrap 된거를 꺼내오거나 그냥 새로운 컬렉션을 만들어서 값을 복사해서 쓰면 된다.
참 쉽죠?너무 쉬워서 예제 따위는 없어요.
뱀발:
엔티티 내부에 Java 8 기능을 우겨넣으면 씐나게 로딩하다가 에러가 날 것이다.
아쉽게도 JPA는 Java 8 기능이 들어간 엔티티는 엔티티로 취급하지 않는다 (...)
물론 그런건 별도의 클래스로 분리해 놓고 써먹으면 그만이다.
엔티티에
@OneToMany
나 @ManyToMany
로 컬렉션(List
, Set
, Map
) 필드가 있을 때, 이 필드가 wrapper로 세팅되어있을 경우 (이클립스링크의 경우 IndirectList
, IndirectSet
, IndirectMap
) 일부 Java 8 기능이 먹지를 않는다.특히 가장 중요한 stream이 동작하지 않는다.
Aㅏ... 망했어요.
뭐 별 거 있나, wrap 된거를 꺼내오거나 그냥 새로운 컬렉션을 만들어서 값을 복사해서 쓰면 된다.
참 쉽죠?
뱀발:
엔티티 내부에 Java 8 기능을 우겨넣으면 씐나게 로딩하다가 에러가 날 것이다.
아쉽게도 JPA는 Java 8 기능이 들어간 엔티티는 엔티티로 취급하지 않는다 (...)
물론 그런건 별도의 클래스로 분리해 놓고 써먹으면 그만이다.