분류 전체보기(363)
-
JPA - JPAQuery와 Q클래스
JPA - JPAQuery와 Q클래스긴 포스팅은 아니지만 예제로 소스를 짜는 도중에 몰랐던 내용을 알게되어서 작성한다. QueryDSL로 예제중 나온 상황이다. 12345678910public List findMyDumbEntities(long id) { QMyEntity qMyEntity = QMyEntity.myEntity; JPAQuery jpaQuery = new JPAQuery(entityManager); MyEntity myFirstEntity = jpaQuery.from(qMyEntity) .where(qMyEntity.id.eq(id)).uniqueResult(qMyEntity); MyEntity mySecondEntity = jpaQuery.from(qMyEntity) .where(qMy..
2019.02.11 -
IT News - ElasticSearch(엘라스틱), 22일 서울서 기술 세미나 개최
ElasticSearch(엘라스틱), 22일 서울서 기술 세미나 개최 현재 챗봇을 개발하고 있기 때문에 챗봇의 중요한 역할을 하는 자연어처리, 그리고 검색엔진에 관심이 참 많이 간다. 현재는 Solr(솔라)를 사용중인데 요즘 굉장히 핫한 ElasticSearch도 슬슬 공부를 해볼 예정이다. 그런데 22일 엘리스틱서치 기술 세미나 개최가 있다고 해서 기사를 참조해보았다. 바빠서 갈 수 있을지는 모르겠지만, 혹시 저처럼 검색엔진에 관심이 많으신 분이 이 기사를 보시고 한번 참가 해보셨음 좋겠다는 마음에 기사를 올려봅니다. ▶︎▶︎▶︎네이버뉴스 오픈소스 기반의 실시간 로그분석 및 검색 기술업체인 엘라스틱이 오는 22일 서울에서 글로벌 기술 세미나를 개최한다. 엘라스틱서치코리아(대표 한성엽)는 서울 삼성동 인..
2019.02.11 -
JPA - NativeQuery ( SQL ) 네이티브 SQL 사용하기!
JPA - NativeQuery ( SQL ) 네이티브 SQL 사용하기!JPA는 SQL이 지원하는 대부분의 문법과 SQL 함수들을 지원하지만 특정 데이터베이스에 종속적인 기능은 잘 지원하지 않는다. 하지만 때론 특정 데이터베이스에 종속적인 기능이 필요할 수도 있다. 다양한 이유로 JPQL을 사용할 수 없을 때, JPA는 SQL을 직접 사용할 수 있는 기능을 제공하는데 이것을 네이티브 SQL(네이티브쿼리)라고 한다. 즉, 사용자가 직접 데이터베이스에 날리는 쿼리를 작성하는 것이다. 그렇다면 JPA가 지원하는 네이티브 SQL과 JDBC API를 직접 사용하는 것에는 어떤 차이가 있냐? 그것은 바로 네이트브 쿼리는 엔티티를 조회할 수 있고 JPA가 지원하는 영속성 컨텍스트의 기능을 그대로 사용할 수 있다는 것..
2019.02.11 -
Java - JDK1.7(JAVA 7) 특징 try-with-resource 등
Java - JDK1.7 특징 try-with-resource 등 JAVA 10버전 이상 나온 시점에 자바 7의 특징을 설명하자니 많이 뒤쳐진 느낌이 들지만 저처럼 아직도 자바 5,6 세대에 머무르고 있는 분들이 있어서는 안되지만 혹시라도 계시는 분들이 있을 것이기에 간단하게 정리해보았습니다. 자바7도 안되있는 상태에서 자바8,9,10 등을 공부하는게 뭔가 순리에 어긋나는 것같습니다. 부족하지만 하나하나 천천히 공부해 나가야 할것 같습니다. 간단히 대략 몇 가지정도만 정리하려고 합니다. Type Interface Java 7 이전에는 제너릭 타입 파라미터를 선언과 생성시 중복해서 써주어야했습니다. 사실 저는 현재 생성자 쪽은 제네릭타입을 따로 넣지 않고 사용했었는데, 이게 당연히 원래 되는 건줄 알고 있..
2019.02.11 -
JPA - QueryDSL, JPQL Query Builder Class
JPA - QueryDSL, JPQL Query Builder Class 이전 포스팅에서 다뤘던 JPA Criteria는 문자가 아닌 코드로 JPQL을 작성하도록 도와주는 쿼리빌더였기 때문에 문법 오류를 컴파일 단계에서 잡을 수 있고 IDE툴을 이용하여 자동완성 기능의 도움을 받을 수 있기 때문에 여러가지 장점이 있었다. 하지만 Criteria의 가장 큰 단점은 코드양이 줄지도 않고 너무 복잡하며 바로바로 쿼리를 예상하기가 쉽지 않았다. 하지만 이번에 다룰 QueryDSL은 Criteria와 같이 문자가 아닌 코드로 쿼리를 작성하며, 쉽고 간결하고 빌더로 작성된 모양도 쿼리와 비슷해 쉽게 예상이 가능하다. 오히려 Criteria보다 사용하기 편하다. 하지만 큰 문제라고는 할 수 없지만 Criteria는 ..
2019.02.11 -
JPA - Criteria Query(객체지향 쿼리 빌더), JPQL Query Builder Class
JPA - Criteria Query(객체지향 쿼리 빌더), JPQL Query Builder Class Criteria 쿼리는 JPQL을 자바 코드로 작성하도록 도와주는 빌더 클래스 API이다. Criteria를 사용하면 문자가 아닌 코드로 JPQL를 작성하므로 문법 오류를 컴파일 단계에서 잡을 수 있고 문자 기반의 JPQL보다 동적 쿼리를 안전하게 생성할 수 있다. 하지만 이번에 Criteria를 간단하게만 다루려고 한다. 이유는 실제 Criteria를 사용해서 개발하다보면 코드가 복잡하고 장황하며 직관적으로 이해하기 힘들다는 단점이 있기때문이다. 다음 포스팅에서는 코드로 쿼리를 작성할 수 있고 간단한 QueryDSL을 다음에 자세히 다뤄볼 예정이기에 이번 포스팅은 몇가지 간단하게만 다뤄본다. Cri..
2019.02.09