2012-05-17 3 views
0

저는 Java EE 응용 프로그램에서 작업 중이며 Spring을 프레임 워크로 사용합니다. 이제 사람들이 ORM 프레임 워크 (Hibernate/JPA/iBatis ...)에 대해 이야기하는 것을 보았습니다. 그러나 그 프레임 워크를 사용하는 이유가 무엇인지 모르겠습니다.Java EE에서 지속성 프레임 워크를 사용하는 이유는 무엇입니까?

이러한 프레임 워크가 프로젝트 기능에서 변경되는 것은 무엇입니까? & 성능?

당신이 나에게 명확한 예를 들어 줄 수 있다면 그것은 좋을 것이다.

+0

우선, "지금은 ORM에 대해 말하는 사람들"이 아닙니다. 수년 동안 여기에 왔습니다. 'http://stackoverflow.com/questions/4667906/the-advantages-and-disadvantages-of-using-orm'을 참조하십시오. –

답변

0

전체 Java 개체에 대한 SQL 삽입/업데이트/선택 문을 작성하여 지루함을 느끼고 개체가 변경 될 때 개체 < -> SQL 코드 모양을 유지하십시오. JPA는 실제로 Java EE 표준의 일부입니다.

그러나 하지은 매우 간단한 경우를 제외하고, 데이터베이스와 함께 무엇을하고 있는지 알고에서 당신을 유지하는 수단을 제공 할 것입니다. 제 경험상 JPA 프레임 워크는 성능 문제 추적 및 디버깅에 또 다른 복잡성 계층을 추가 할 것입니다.

결국 JPA 공급자 (OpenJPA, HIbernate, Eclipse 링크 ..)와 데이터베이스 구현의 모든 조합에 대해 JPQL (JPA 용 SQL-ish 구문)이 SQL로 변환되는 방식을 이해해야 할 필요가 있습니다. 이것은 사소한 일입니다.

특정 성능 요구 사항이없고 쉬운 개체 지속성을 원할 경우 간다! 최대 절전 모드는 예술적인 분위기로 보인다.

0

모든 것을 위해 SQL을 작성하는 것을 피하고 오브젝트 관계형 걸프 ("abyss")를 부분적으로 연결하는 것을 피하십시오.

단순한 요구 사항의 경우 ORM은 훌륭하고 일부 DB 항목에 대한 생각을 없애줍니다. 심각한 성능 관련 문제를 방지하기 위해 실제로 DB 측면에서 실제로 일어나고있는 것을 알아야합니다.

복잡한 요구 사항의 경우 ORM을 "컴퓨터 과학의 Vietname"이라고 부르는 이유를 이해하는 법을 배웁니다 ... "우리는 베트남의 교훈을 배웠습니다 ... 베트남에 가지 마십시오."

관련 문제