2013-05-28 3 views
0

새로운 기능 : OpenJPA
일부 테이블은 다른 테이블에서 데이터를 삽입하려고합니다. 아래는 시나리오입니다.OpenJPA는 다른 테이블의 데이터를 하나의 테이블에 삽입합니다.

Table1: id, app_name, app_version, app_active 

Table2: id, app_name, app_version, dev_name, dev_Lastname, dev_shortname, 

Pojo1 maps fields to column of table1 
Pojo2 maps fields to column of table2 

검색어 : 내가 두 POJO를 서로에 이러한 필드를 매핑 할 Openjpa 방법을 사용하여이 쿼리를 실행하는 방법을 잘 모릅니다

insert into table2 ("dev_name","dev_lastname","dev_shortname") select t1.app_name, t1.app_version from Table1 t1 where t1.app_name = ? 

. Query object을 사용하는 경우 pojos ?? 그들이 사용에 올 것인가 ?? 나는 할 필요가있는 것을 의미한다 transaction.save ??

예제 코드에 대한 도움이 감사하겠습니다.

답변

1

JPA가 개체 관계를 처리하는 동안 쿼리는 데이터베이스에서 직접 데이터를 조작합니다.

Im는 어떤 문제를 해결하려고하는지 잘 모르지만 Pojo1을 읽으면 방금 저장 한 Pojo2 객체로 변환 할 수 있습니까?

편집 : Java 응용 프로그램에서 먼저 몇 가지 쿼리로 엔티티 관리자에서 Pojo1을 검색하십시오. 그런 다음 Pojo1에서 원하는 필드가있는 해당 Pojo2 오브젝트를 구성하십시오. 그런 다음 새로운 Pojo2 객체를 사용하여 entityManager.persist에 전달하십시오.

이것은 한 줄의 SQL 문에서 보여 주었던 것을 수행하는 것은 꽤 복잡합니다.

+0

테이블 2에 데이터를 삽입해야하지만 테이블 1에서 3 개의 열을 선택해야합니다. pojo1을 pojo2 개체로 변환하면 무슨 뜻입니까? 몇 가지 예를 들어 주시겠습니까? 고마워요 –

+0

고마워요 Dan, 그게 내 마음에 왔지만 느려질 것 같아요 그리고 데이터를 많이 넣어야 할 때 for 루프를 실행하면 각 항목을 맞추는 것이 지루할 것입니다. 이 문제를 해결할 수있는 방법을 제안 해 주시겠습니까? –

+0

참조 http://stackoverflow.com/questions/6040969/how-can-i-move-an-object-from-one-table-to-another-using-openjpa?rq=1 – Dan

관련 문제