182장. JPA Component
Camel 버전 1.0에서 사용 가능
jpa 구성 요소를 사용하면 OpenJPA, Hibernate, TopLink 등과 같은 개체/관계 매핑(ORM) 제품을 래핑하는 표준 인터페이스 계층인 Clevis 3의 JPA(Java Persistence Architecture)를 사용하여 영구 스토리지에서 Java 오브젝트를 저장하고 검색할 수 있습니다.
Maven 사용자는 이 구성 요소에 대해 pom.xml
에 다음 종속성을 추가해야 합니다.
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-jpa</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel core version --> </dependency>
182.1. 엔드포인트로 전송
JPA 생산자 엔드포인트로 전송하여 데이터베이스에 Java 엔터티 빈을 저장할 수 있습니다. In 메시지의 본문은 엔터티 빈(즉, @Entity 주석이 있는 Cryostat) 또는 엔터티 빈의 컬렉션 또는 배열로 간주됩니다.
본문이 엔터티 목록인 경우 entityType=java.util.ArrayList 를 생산자 엔드포인트에 전달된 구성으로 사용해야 합니다.
본문에 이전에 나열된 유형 중 하나가 포함되어 있지 않은 경우 필요한 변환을 먼저 수행하기 위해 끝점 앞에 Message Cryostat를 배치합니다.
Camel 2.19 이후의 경우 생산자에 대해 query
,namedQuery
또는 nativeQuery
를 사용할 수 있습니다. 또한 매개
변수 값에서 Message body, header 및 etc에서 매개변수 값을 검색할 수 있는 Simple 표현식을 사용할 수 있습니다. 이러한 쿼리는 SELECT
JPQL/SQL 문을 사용하여 데이터 집합을 검색하고 UPDATE
/DELETE
JPQL/SQL 문을 사용하여 대규모 업데이트/삭제를 실행하는 데 사용할 수 있습니다. namedQuery
로 UPDATE
/DELETE
를 실행하는 경우 query 및 nativeQuery
와 달리 이름이 지정된 쿼리
를 확인하지 않는 경우 useExecuteUpdate
를 true
로 지정해야 합니다.