JPA에서 최대 절전 모드 QBE
(예제로 쿼리)을 구현하는 방법을 알고 계십니까?JPA에서 예제로 기능 구현하기
내 문제는 도메인을 사용하는 대신 동적으로 일종의 문자열 조작을 사용하여 SQL 쿼리를 작성하는 것입니다.
이 API는 기본적으로 API에서 지원되지 않지만 동적 쿼리를 작성하는 데 유용한 기술임을 알고 있습니다.
제안 사항?
JPA에서 최대 절전 모드 QBE
(예제로 쿼리)을 구현하는 방법을 알고 계십니까?JPA에서 예제로 기능 구현하기
내 문제는 도메인을 사용하는 대신 동적으로 일종의 문자열 조작을 사용하여 SQL 쿼리를 작성하는 것입니다.
이 API는 기본적으로 API에서 지원되지 않지만 동적 쿼리를 작성하는 데 유용한 기술임을 알고 있습니다.
제안 사항?
JPA 2.0에서 가장 비슷한 것을 Criteria API이라고합니다. JPA 1.0에는 존재하지 않았습니다. 여기
는 샘플입니다CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery c = cb.createQuery(Person.class);
Root person = c.from(Person.class);
c.select(person)
.where(cb.equal(person.get("name"), "Officer Friendly"));
QBE는 JPA 1.0 또는 2.0에서 사용할 수 없습니다. 자세한 내용은 here
나는 이것이 정답이다하지만 불행히도 그것은 바로 하나를 선택하기 위해 OP의 손에 생각합니다. 나는 너의 것을지지했다. –
내가 그 무형 문화 유산에 스크래치했고, 내가 그것을 자신을하기로 결정 오래 전.
당신은 소스 포지에서 그것을 얻을 수 있습니다 SVN : //svn.code.sf.net/p/jpaco/code/ jpaco 코드
내가 잠시 뒤이 같은 문제에 직면했다.
JPA Criteria API를 사용하는 것이 약간 번거롭고 그 위에 추상화를하기로 결정했습니다.
https://github.com/kenglxn/QueryByExample이 희망은이 같은 문제를 가진 다른 사람을 위해 유용 할 수 있습니다 :
이 작고, 유연하고 간단한 라이브러리입니다.
테스트 케이스는 몇 가지 실용적인 예제가 있습니다 https://github.com/kenglxn/QueryByExample/blob/master/src/test/java/net/glxn/qbe/QBETest.java
컬렉션 속성이있는 엔터티도 지원됩니까? 더 깊은 그래프가있는 속성은 어떻습니까? –
현재 github에 문제를 게시 할 수는 없습니다. – kenglxn
예를 들어 주셔서 감사합니다. JPA 2.0이 아니라 1.0을 사용하고 있습니다. –
FindByExample의 주요 장점 중 하나는 의존하는 쿼리를 깨뜨리지 않아도 엔티티를 리팩토링 할 수 있다는 것입니다. FindByExample. 이 예제에서 Person "name"이 "firstName"과 "lastName"으로 분리하여 리팩터링되면 쿼리가 손상된다는 것을 알 수 있습니다. –