지속적 특성을 JPA용 XML 열에 맵핑
데이터베이스가 XML(Extensible Markup Language) 열 유형을 지원하는 경우 맵핑 도구를 사용하여 XML 오브젝트를 관리할 수 있습니다. XML 열을 Java™ 문자열 또는 Java 바이트 배열 필드에 매핑하도록 선택할 수 있습니다.
이 태스크 정보
애플리케이션 서버용 JPA는 맵핑 관리를 위한 써드파티 솔루션을 사용함으로써 XML 오브젝트의 관리를 지원합니다. 이러한 맵핑 기법에서는 XML 오브젝트를 문자열 또는 바이트 배열로 사용하기가 어렵습니다.
DB2®, Oracle, SQLServer 데이터베이스는 XML 열 유형, XPath 쿼리 및 이러한 열에 대한 인덱스를 지원합니다.
XML 맵핑에 대한 지속적 특성
XML 열 지원을 사용하는 임베디드 클래스는 XML 마샬링을 사용하여 XML 열에 데이터를 기록하고 마샬링 해제를 사용하여 XML 열에서 데이터를 검색해야 합니다. 임베디드 클래스에 대한 경로 표현식과 술어는 XML 술어, XPATH 표현식 또는 XQuery 표현식으로 변환되어 데이터베이스에 기록되어야 합니다.
WebSphere Application Server XML 매핑을 위한 타사 도구를 사용하기 위해 JPA 애플리케이션을 지원합니다. 이는 사용자 정의 필드 맵핑의 확장점을 통해 수행됩니다. 써드파티 맵핑 도구는 XML 열로 맵핑되는 지속적 필드에 사용자 정의 값 핸들러를 제공하여 확장점을 사용합니다. ~ 안에 OpenJPA, 이 값 핸들러의 이름은 다음과 같습니다. org.apache.openjpa.xmlmapping.XmlValueHandler 이 핸들러에는 XML 열에 매핑되는 Java 필드에 @Strategy 주석이 필요합니다.
프로시저
예
@Entity
public class Order {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
int oid;
@Persistent
@Strategy("org.apache.openjpa.xmlmapping.XmlValueHandler")
@Column(name="shipaddr")
Address shipAddress;
…OpenJPA 맵핑 도구는 ORDER 테이블의 테이블 정의에 있는 XML 유형을 사용하여 SHIPADDR 열을 생성합니다.