181장. JPA 구성 요소
Camel 버전 1.0에서 사용 가능
jpa 구성 요소를 사용하면 EJB 3의 JPA(Java Persistence Architecture)를 사용하여 영구 스토리지에서 Java 오브젝트를 저장하고 검색할 수 있습니다. 이 계층은 OpenJPA, Hibernate, TopLink 등과 같은 오브젝트/Relational 매핑(ORM) 제품을 래핑하는 표준 인터페이스 계층입니다.
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>
181.1. 끝점으로 전송
JPA 생산자 끝점으로 전송하여 Java 엔터티 빈을 데이터베이스에 저장할 수 있습니다. In 메시지의 본문은 엔터티 빈(즉, @Entity 주석이 있는 POJO) 또는 엔터티 빈의 컬렉션 또는 배열로 가정됩니다.
본문이 엔터티 목록인 경우 생산자 끝점에 전달된 구성으로 entityType=java.util.ArrayList 를 사용해야 합니다.
본문에 나열된 유형 중 하나가 포함되어 있지 않은 경우 먼저 필요한 변환을 수행하려면 끝점 앞에 Message Translator를 넣습니다.
Camel 2.19 이후부터는 생산자에게도 쿼리
,namedQuery
또는 nativeQuery
를 사용할 수 있습니다. 또한 매개 변수
의 값에서도 메시지 본문, 헤더 및 기타에서 매개 변수 값을 검색할 수 있는 Simple expression을 사용할 수 있습니다. 이러한 쿼리는 SELECT
JPQL/SQL 문을 사용하여 사용하여 데이터 집합을 검색하고 UPDATE
/DELETE
JPQL/SQL 문을 사용하여 대량 업데이트/삭제를 실행하는 데 사용할 수 있습니다. camel은 query
및 nativeQuery
와 달리 namedQuery
를 사용하여 UPDATE
/DELETE
를 실행하는 경우 useExecuteUpdate
를 true
로 지정해야 합니다.