Ejb와 최대 절전 모드 간의 차이

Anonim

Ejb vs Hibernate

EJB를 얻으려면 EJB가 어디서 발생했는지 배경을 이해하는 것이 좋다. 엔티티 bean에는 두 가지 유형이 있습니다. 이것들은 CMP와 BMP입니다. CMP는 Container Managed Persistence를 의미하고 BMP는 Bean Managed Persistence를 의미합니다. EJB는 SQL의 관계형 데이터베이스를 처리 할 때 오브젝트 공식화 및 직렬화에 특별히 사용됩니다.

복잡한 애플리케이션 개발이 시작되면 모델링으로 시작합니다. 클래스와 객체는 잘 구현되지 않으면 많은 문제를 일으킬 수있는 복잡한 상호 관계가 있기 때문에 테이블 위에 사용하는 것이 좋습니다. 이것은 본질적으로 테이블에서가 아니라 사물에서 사고의 디자인을 사용하는 시스템을 다루는 것을 의미합니다. 관계형 데이터베이스의 사용은 매우 빠르고 시간 내에 테스트됩니다. 이것은 객체 직렬화와 비교하여 복잡한 객체 직렬화가 매우 느린 프로세스이기 때문에 시간을 절약합니다. 관계형 데이터베이스 기술의 사용은 많은 개발자들 사이에서 빠르고 시간이 많이 걸리고 인기가 있으며 따라서 선호되기도합니다.

개발중인 테이블을 순수하게 처리하고 데이터 조작 및 데이터 읽기에서 세션 빈을 사용할 수 있습니다. 이것이 가능할 때까지, 그 실용성은 불가능합니다. 특히 위의 방법을 사용하기 위해 실제로 복잡한 프로젝트를 다룰 때 그렇습니다. 이것은 EJB에서 엔티티 bean의 사용을 따르는 기초입니다.

EJB1의 CMP는 다른 테이블과 복잡한 관계가없는 단순한 테이블과 함께 사용하기에 적합하도록 설계되었습니다. CMP를 사용하면 기본 데이터베이스를 참조하는 참조를 피할 수 있습니다. 이것은 실제로 이식성이 뛰어나고 공급 업체 잠금이 발생하지 않는다는 것을 의미합니다. EJB 1은 또한 관계형 데이터베이스 외에도 오브젝트 데이터베이스에 데이터를 유지합니다.

EJB 3.0에는 전반적인 기능 향상을 목표로하는 혁신적인 디자인이 있습니다. 주요 변경점은 CMP 작성을 위해 제안 된 형식입니다. 관계를 제공하고 EBJ-QL이라고하는 간단한 쿼리 언어의 사용을 제안합니다. 이 언어는 엔티티 bean을 세션 bean이라고 부름으로써 네트워크 트래픽을 최소화하는 것을 목표로합니다.

반면에 Hibernate는 EJB와 공통적 인 가파른 학습 곡선을 가지지 않고 EJB처럼 에러가 발생하지 않는 ORM 도구입니다. Hibernate는 유연성 때문에 Servlet과 JSP 사용을 허용한다. Hibernate는 개발자가 가질 수있는 대부분의 어플리케이션에서 J2EE 스펙을 적용 할 수 있도록 만들어졌습니다. Hibernate는 EJB 컨테이너에서만 사용될 수있을뿐만 아니라 독립형 컨테이너와 웹 컨테이너에도 적용 할 수있는 특별한 ORM 도구입니다.이것은 EJB와 Hibernate 사이에서 가장 두드러진 차이점이다. 따라서 Hibernate를 사용한 개발은 EJB 사용에 비해 훨씬 쉽고 복잡하지 않습니다. Hibernate는 J2EE 환경의 사용자들 사이에서 더 인기가있다. 그리고 EBJ가 사용자에게 익숙해지기까지 시간이 걸리는 복잡한 기능의 개발이 계속된다면, Hibernate가 현장에서 지배적 일 것이며, EJB는 현재 J2EE에서 잠겨 있기 때문에 시장에서 목표로 삼으려는 대부분의 개발자와 연락이되지 않습니다.

EJB는 객체 정형을 위해 특별히 사용되는 엔티티 빈이다.

실용적이지는 않지만 데이터 읽기 및 조작시 테이블 빈을 사용할 가능성이있다.

EBJ는 비교적 단순하다. EJB-QL로 언급 된 개발을위한 쿼리 언어

EBJ 오류가 발생하기 쉬운

Hibernate는 이해하기 쉽고 구현하기가 쉽다

EJB처럼 오류가 나지 않는 최대 절전 모드