2017-12-18 7 views
1

데이터 용 MS SQL 데이터베이스 서버를 사용하고 있는데, DB 매핑을위한 Hibernate 프레임 워크가 있습니다. 나는 특정 데이터 (선택 ...에서 ...)를 XML로 생성해야하지만 어떻게 될지 모를 필요가있다. 나는 온라인 검색을 시도했지만 아무 것도 ...Hibernate 프레임 워크에서 xml을 올바르게 생성하는 방법

나는 2 가지 아이디어가 있지만이 문제에 대한 경험이 많은 접근 방법을 조언 해줄 수있다.

  1. select 내에서 FOR XML을 사용하여 db 계층에서 xml을 생성하십시오. -> 여기 내가 절전 모드에서 선택했을 때의 결과는 무엇인지 모르겠다 ...? 끈? 몰라.
  2. https://www.javatpoint.com/jaxb-marshalling-example

당신은 무엇을 제안 할>이를 사용하여 예를 들어, XML로이 목록을 변환하기 위해 자바를 사용하여 다음 DB에서 목록을 검색하고? 감사합니다

+0

Hibernate는 JPA와 매핑 될 수 있기 때문에 XML 정의가 필요하지 않을 수도 있습니다. – Alexcocia

답변

0

최상의 접근 방식을 결정하는 기준으로 간주 될 수있는 많은 다른 매개 변수가 있습니다 (예 : 데이터베이스 독립적 인 것이 중요합니까? 출력을 생성하기위한 기초로 제공된 XML 스키마가 있습니까? 사용/액세스 할 것인가?)

생성하려는 출력이 데이터의 일반 덤프와 비슷하고 미래에 데이터베이스로 데이터를 가져 오는 데 사용됩니다 (또는 유사한 사용법), 아마도 데이터베이스 계층에서 출력을 생성하는 것으로 충분할 것입니다. 그러나 대부분의 경우에는 그렇지 않습니다. 나중에 생성하고 사용자 정의하는 방식을보다 잘 제어 할 수 있도록 응용 프로그램 계층에서 출력을 생성하는 것이 좋습니다. 정상적인 최대 절전 쿼리를 사용하여 데이터를 가져와 JAX-B를 사용하여 XML로 직렬화 할 수 있습니다.

0

데이터베이스 수준에서 XML을 생성하지 않습니다. 이미 Hibernate를 사용하고 있기 때문에 엔티티 객체를 기본적으로 같은 객체 인 DTO (data transfer object)로 바꿀 수 있지만 이번에는 라이브러리에 의해 정렬되고 비 정렬 화 (marshalled and unmarshalled) 될 예정이다. JAXB보다는 약간 더 사용하기 쉬운 잭슨 (Google은 xml jackson)을보고 싶은데, 누군가가 출력을 JSON 또는 YAML로해야한다고 결정하면 매우 쉽게 변경할 수 있습니다.