JPA2.0 (Hibernate 4를 통해)을 사용하여 EntityManager.find (java.lang.Class entityClass, java)를 사용하여 쿼리 조건이 기본 키인 레코드를 데이터베이스에 쿼리 할 수 있습니다. lang.Object primaryKey). 그러나 쿼리 조건이 기본 키가 아닌 경우 (예 : 도시 값이 '런던'인 모든 레코드를 선택) TypedQuery를 만들고 SQL 문을 명시 적으로 제공해야합니까? 입양해야 할 모범 사례가 있습니까?기본 키를 사용하지 않는 JPA 쿼리
0
A
답변
0
JPA Criteria API은 동적 쿼리 (jpql 또는 sql)를 사용하여 얻을 수없는 수준의 컴파일시 안전을 제공합니다. 특히 많은 조건들이 (선택 필드, 조건부 부질의 ...에) 들어가기 시작하면 실수하기가 아주 쉬워 질 수 있습니다.
Criteria API는 (특히 간단한 쿼리의 경우) 작성하기가 더 복잡 할 수 있으며, 정말 강력하고 사용하기 쉬운 언어로 만들기 위해 조건 API 주위에 배관 코드를 만들어야합니다. 그것은 실제로 상자에서 그것을 제공하지 않습니다.
일부 사용자는 Criteria API 작업을 좋아하지만 일부 사용자는 명명 된 쿼리/JPQL을 선호합니다.
+0
그게 내가 필요한 것 뿐이야, 고마워. CriteriaQuery 접근 방식을 사용하겠습니다. –
관련 문제
- 1. 기본 쿼리 및 jpa
- 2. 전체 키를 사용하지 않는 이유는 무엇입니까?
- 3. "사용과 API 키를 사용하지 않는"
- 4. 외래 키를 사용하지 않는 연관
- 5. 인덱스를 사용하지 않는 쿼리 -
- 6. 캐시를 사용하지 않는 SELECT 쿼리
- 7. 성 기본 키를 사용하지 않는 성 ActiveRecord 관계
- 8. JPA 엔터티 외래 키를 기본 키로 매핑
- 9. Jpa 테이블 전략 - 기본 키를 얻는 방법
- 10. JPA 쿼리를 사용하지 않고
- 11. 외래 키에서 기본 키를 쿼리
- 12. 기본 키를 사용하는 SQL 쿼리
- 13. 중복 방지하지만 기본 키를 사용하지 않고 삽입
- 14. MySQL 쿼리가 기본 키를 사용하지 않습니다.
- 15. 인덱스를 사용하지 않는 쿼리 최적화
- 16. Grails에서 GORM을 사용하지 않는 쿼리
- 17. 꼭지점 컬렉션을 사용하지 않는 쿼리
- 18. 인덱스를 사용하지 않는 MySQL 쿼리
- 19. 음수 여백을 사용하지 않는 기본 Css 플로팅 쿼리
- 20. JPA 기본 쿼리 설정 파라미터가 null의
- 21. 기본 키를 사용하도록 쿼리 최적화 프로그램을 실행하십시오.
- 22. JPA : 최신 데이터를 가져 오지 않는 쿼리
- 23. 존재하지 않는 엔티티를 선택하기위한 기본 JPA 동작
- 24. 데이터베이스 인덱스의 원인이 사용하지 않는 슬로우 쿼리
- 25. JPA MySQL의 기본 키
- 26. 인덱스를 사용하지 않는 매우 간단한 mysql 쿼리
- 27. JPA 쿼리
- 28. JPA 쿼리
- 29. 쿼리 JPA
- 30. Jpa 2.0 eclipselink 자동 생성 기본 키를 사용하지 않고 엔티티 클래스를 지속 (삽입)하는 방법
은 TypedQuery에 대한 의견을 제시하고 쿼리에 전달되는 내용을 제안합니다. 그건 SQL이 아니에요. JPQL – DataNucleus
그 점을 이해합니다.하지만 TypedQuery를 사용해야한다고 생각하는데 다른 방법이 없습니까? 기쁜 마음으로, 나는 Hibernate/JPA를 최대로 사용하고 최선의 방법을 채택하고 싶다. –