복붙노트

[SPRING] 스프링 프레임 워크 3.0에서 Hibernate와 Jdbc 사용하기

SPRING

스프링 프레임 워크 3.0에서 Hibernate와 Jdbc 사용하기

Spring 3.0, hibernate 3.0을 사용하는 프로젝트를 진행 중이다. 내 프로젝트에는 컨트롤러, 서비스 및 DAO 레이어가 있습니다. Daos (최대 절전 모드로 작성)는 서비스 계층에서 액세스됩니다. 이제는 JDBC뿐만 아니라 Hibernate를 사용할 필요가있다. 최대 절전 모드 부분은 약 80-90 %입니다. 나머지 10 %에서는 JDBC (JdbcTemplate을 사용할 수 있음)를 사용해야합니다. 나에게 제안 해주세요. 어떻게 절전 모드와 Jdbc 모드를 함께 사용합니까? Separation, Re-usability로 디자인이 필요합니다. 또한 Spring에서 구현하는 방법은 무엇입니까?

모든 제안을 부탁드립니다.

미리 감사드립니다 !!

해결법

  1. ==============================

    1.Hibernate와 Spring JDBC를 안전하게 섞을 수 있고 둘 다 HibernateTransactionManager에 의해 관리되는 트랜잭션을 공유 할 수 있어야한다. 스프링 트랜잭션을 사용하여 스레드 바운드 연결을 감지하고 재사용 할 수 있기 때문에 스프링 템플릿을 사용해야합니다. 어떤 이유로 든 다른 jdbc 기반 라이브러리를 믹스에 추가하고 싶다면 (예를 들어 Groovy SQL과 같이), Spring DataSourceUtils를 통해 여전히 수행 할 수 있습니다.

    Hibernate와 Spring JDBC를 안전하게 섞을 수 있고 둘 다 HibernateTransactionManager에 의해 관리되는 트랜잭션을 공유 할 수 있어야한다. 스프링 트랜잭션을 사용하여 스레드 바운드 연결을 감지하고 재사용 할 수 있기 때문에 스프링 템플릿을 사용해야합니다. 어떤 이유로 든 다른 jdbc 기반 라이브러리를 믹스에 추가하고 싶다면 (예를 들어 Groovy SQL과 같이), Spring DataSourceUtils를 통해 여전히 수행 할 수 있습니다.

    유일한 잠재적 인 문제는 hibernate와 spring jdbc 템플릿이 같은 데이터에서 동작 할 때 발생할 수있다. Hibernate는 데이터베이스 업데이트를 지연시킬 수 있고, spring jdbc는 오래된 데이터에 접근 할 것이다. 이 상호 작용에 대한 나의 경험은 이전 버전의 스프링에서 비롯된 것이며 요즘에는이 문제를 해결할 수있는 메커니즘이있을 수 있습니다.

  2. ==============================

    2.이 답변을 사람들이 내 대답을 향상시킬 것이라고 희망이 답변을 쓰고있어 이것이 최고의 답변이되지 않을 수도 있습니다.

    이 답변을 사람들이 내 대답을 향상시킬 것이라고 희망이 답변을 쓰고있어 이것이 최고의 답변이되지 않을 수도 있습니다.

    Hibernate에서 네이티브 네이티브 쿼리를 사용할 수 있습니다. 예 : http://www.java2s.com/Code/Java/JPA/UsingNamedNativeQuery.htm 조금 아래로 스크롤하여 File : Professor.java를 찾으십시오. 이 예제를 사용할 수 있습니다. 이렇게하면 최대 절전 모드에서 원시 쿼리를 실행할 수 있습니다.

  3. from https://stackoverflow.com/questions/9572226/using-hibernate-and-jdbc-both-in-spring-framework-3-0 by cc-by-sa and MIT license