2010-05-07 2 views
0

우리는 ORM을 위해 Eclipselink를 사용하고 있지만 JDBC와 더 유사한 좀 더 가벼운 데이터베이스 상호 작용이 필요합니다. 제 질문은 Eclipselink가 그러한 관용구를 지원하는지, JDBC의 장점이 있는지 여부입니다. 일관성을 유지하고 기존 연결 처리를 사용할 수 있다는 장점이 있음을 알 수 있습니다. 다른 사람?비 OR 데이터베이스 상호 작용을 위해 Eclipselink를 사용해야합니까?

특히 내가 찾고있는 것은 Hibernate의 Native SQL Query과 같은 것입니다.

답변

1

응용 프로그램에서 JPQL과 SQL 쿼리를 모두 사용하는 경우 JPA 2 네이티브 쿼리가 올바른 방법 일 것입니다. 다음은 몇 가지 예는 다음과 같습니다 앱에만 SQL 쿼리와 업데이트를 사용하는 경우

http://www.oracle.com/technology/pub/articles/vasiliev-jpql.html

, 다음 ORM은 오버 헤드입니다. Spring의 JDBC 지원을 통해 선언적 트랜잭션을 다르게 가져올 수도 있습니다.

+0

그러나이 쿼리를 살펴보면 네이티브 쿼리를 사용하면 JPQL 대신 SQL을 사용하고있는 것입니다. 나는 여전히 볼 수있는 한 객체 모델 또는 하나의 스칼라 결과에 묶여있다. 데이터베이스에서 행을 가져 오려면 결과에 매핑 할 클래스를 반드시 만들어야합니까? – Tim

+0

나는 Spring JDBC 지원을 사용하는 것이 더 유연한 결과 세트 매핑을 고려해야한다고 생각한다. –

1

EclipseLink는 JPA를 구현합니다. EntityManager를 통해 SQL 쿼리를 실행할 수 있습니다. 응용 프로그램의 모델과 관련이없는 SQL 쿼리를 실행하면 JDBC보다 이점이 없습니다. 반대로 훨씬 더 무거운 인프라를 사용하게됩니다. 그러나 SQL to the model을 연결하면 전체 DB 잠재력을 활용하여 쿼리를 최적화 할 수있는 이점이 있습니다. 그러나 당신이 원하는 것인지 확실하지 않습니다 ...

관련 문제