2010-07-22 6 views
12

오늘 아침에 S-Bahn (독일 지하철)에 탑승하고 IBM을 위해 일하는 동료 학생을 만났습니다. 그가하고있는 일은 Java EE 최적화입니다. 나는 그에게 나의 작은 프로젝트에 대해 이야기했다. 그리고 그는 'oldschool'Hibernate를 사용하지 않기를 권고했다. 그래서 내 질문은 :Hibernate는 더 이상 사용되지 않을까?

Hibernate는 더 이상 사용되지 않을까? 은 수다 그가했다 .. 또는

.. (자바 EE/웹 개발 조합에서)

+4

그는 어떤 대안을 제안 했습니까? – Alex

+1

Hibernate에 대해 더 이상 사용되지 않는 것은 무엇입니까? JPA가 아닌 독점적 인 API를 사용하고 있습니까?최대 절전 모드의 구현? –

+0

@ 로버트 독점 API조차도 더 이상 사용되지 않습니다 (후드에서 사용됩니다). –

답변

25

아니요, 최대 절전 모드는 더 이상 사용되지 않습니다.

그러나 지금은 JPA (Java Persistence API)가 있으며, 이는 Hibernate에서하는 일을 수행하기위한 표준 API입니다.

JPA는 인터페이스 사양에 불과합니다. 당신은 JPA를 구현하는 무언가가 필요할 것이고, Hibernate는 JPA의 구현 중 하나이다. Hibernate 외에도 EclipseLink (JPA에 대한 공식 참조 구현) 및 Apache OpenJPA와 같은 몇 가지가 있습니다.

+1

내 의견으로는 JPA가 가지고 있지 않은 많은 것들을 가지고 있기 때문에 나는 여전히 Hibernate (주석을 사용하여, XML에 대한 지속성을위한 나의 선호로서)를 고수 할 것이지만, 개인적으로 JPA 2.0을 기다릴 것이다. – Deleted

+0

JPA는 주석과 함께 작동하며 반드시 XML과 함께 작동하지는 않습니다. JPA 2.0이 잠시 나왔지만 아직 모든 것을 지원하지는 않습니다. 평범한 Hibernate를 사용해야하는 강력한 이유가 없다면 JPA를 선택하겠다. (예를 들어, JPA를 통해 실제로 사용할 수없는 기능들). – Jesper

+0

@ Binary255 : JPA 2.0 **은 ** 거기에 있으며 JPA 2.0과 Hibernate 사이의 간격은 이제 희박합니다. –

1

JPA는 그것을 할 수있는 하나의 방법입니다. Hibernate가 잘 살아있는 곳은 여전히 ​​Spring과 다른 모든 프레임 워크입니다.

3

하이버 네이트는 Java EE 서버 인 JBoss에서 제공하는 JPA 공급자이므로 구현으로 하이버 네이트가 사용되지 않을 것입니다.

아마도 그는 컨테이너 공급자 지속성을 우회하여 Java EE 서버 내에서 Hibernate를 사용하는 것이 더 이상 사용되지 않으며 그러한 서비스를 위해 컨테이너에 의존해야한다고 생각했을 수도 있습니다.

2

아니요, Hibernate은 더 이상 사용되지 않습니다. 지속성 사양 인 JPA이 있으며이를 구현하는 장치는 Hibernate입니다. 또한 Hibernate에는 JPA이없는 자체 고급 기능이 있으므로 HibernateJPA 표준에 추가 된 새로운 기능의 주요 출처 인 이유입니다.

2

그가 Hibernate에 대해 제안한 이유 중 하나는 작은 프로젝트에서 Hibernate를 이해하는 오버 헤드가 상당히 클 수 있다는 것입니다.

최대 절전 모드는 최소한입니다. 최대 절전 모드는 입니다. 그것은 간단한 방법으로 사용할 수 있지만, 너무 밖으로 찾을 수 있지만, 훨씬 더 많이 이해해야합니다.

그러나 Hibernate가 더 이상 사용되지 않거나 먼 미래에 언제든지있을 것이라는 점에 안심하십시오. ORM 요구가 적다면 iBATIS와 같은 다른 솔루션을 시도 할 수도 있습니다.

4

JPA의 구현과 별도로 JPA에 부족한 추가 고급 기능을 많이 제공합니다 (쿼리에서 추가 구문 사용). , QBC 지원 등). 그들 중 일부는 JPA 세계 (아직)에서 해결 방법을 찾는데 정말 유용하고 어렵습니다. 이러한 기능을 제공하지 않고, (최대 절전 모드 인 비하하는 말, 따라서) JPA는 "대체"최대 절전 모드 수 있다고하기 어렵다

+0

JPA 2.0에서는 추가 고급 기능 *이 많이 사용되지 않습니다. 그렇습니다. JPA 2.0에는 Query By Example, 사용자 정의 사용자 유형 등과 같은 기능이 여전히 부족합니다. 그러나 JPA 2.0은 크게 개선되어 독점 기능이 거의 필요하지 않습니다. –

1

당신이 말한 것을 바탕으로, 그가에서,을 XML 매핑을 최대 절전 모드로 언급되었을 수도 같은 소리 Hibernate 주석이나 JPA를 사용하는 것과는 대조적이다. XML은 구식 쓰레기 다.

관련 문제