2013-06-22 3 views
1

나는 어리석은 질문을하면 EJB & 지속성에 전혀 새로운 것이므로 실례합니다. 나는 EJB 및 JPA에 대한 책을 읽고, 나는 전혀 이해하지 못하는 구에 직면 완전히 지속성과 직접 거래에서 개발자를 절연하도록EJB : 내가 중요한 포인트를 이해하지 못하는 것 같습니다

, 그것은 (EJB)는 인터페이스 기반의 접근 방식을 도입을 여기서 concrete Bean 클래스는 클라이언트 코드에 의해 직접 사용되지 않았습니다. 대신 특수화 된 bean 컴파일러는 bean 구현을 생성하여 지속성, 보안, 및 트랜잭션 관리와 같은 작업을 수행하고 엔티티 bean 구현에 비즈니스 로직을 위임합니다. 빈 클래스는 추상적되었고 서버가 영구 데이터를 관리 할 수있는 서브 클래스를 생성 에 대한 책임이 어디에

컨테이너 관리 엔티티 빈의 개념

가 도입되었다.

그것은 무엇을 의미 하는가 :

  1. 전문 콩 컴파일러는

  2. 서버가 실제로 영구 데이터 를 관리하는 서브 클래스를 생성하는 책임이 빈 인터페이스의 구현을 생성 I 구현/서브 클래스를 생성하는 것이 무엇을 의미하는지 파악할 수 없으며 런타임에서 의미가 있습니까?

감사합니다.

편집 됨 : 마지막으로

, 엔티티 빈은 오버 헤드 영속 객체에 추가되어 있지 않은 결코 한다 제한이 우선 네트워크를 도입, RMI 및 CORBA를 사용하여 원격 객체로 모델링되었다.

또한 무의미 해지지 않습니까?

+0

약? – SJuan76

+0

EJB의 진화에 대해 이야기합니다. 첫번째 구문은 EJB1.0에 관한 것이고 두 번째 구문은 EJB2.0에 관한 것입니다. 그것은 EJB3.0과 다르다? –

+0

작업장에 특별히 필요한 경우가 아니라면 EJB 3 이전의 것을 잊어 버리십시오. 그것은 악몽이었습니다. – SJuan76

답변

1

1) 인터페이스 : 당신이 빈 MyEJB을을 writting한다면, 그들은 MyEJBLocalMyEJBRemote을해야했다 (당신이 Local 인터페이스와 Remote 인터페이스를 선언했다, 빈을 정의하려면, MyEJB)를 모두 구현합니다. 컴파일러는 메소드를 구현하는 일부 파생 클래스를 생성했습니다. 이러한 메소드는 EJB 서버에 연결하여 bean을 검색하고 메소드를 실행합니다. 책 이야기 EJB 버전 우리는 (나는, 나 알고있다 알고있다) 세션 빈에서 JDBC 로직을 구현 결국 많은 성능 문제를 한 이후, 2에 대해 너무 확실하지 않다

...

+0

와 RMI에 대해 한 번 더 질문 (편집 된 섹션을 참조하십시오 '에서 myBean은 EJBInterface 구현'을 내 질문) –

+1

그것은 컴파일러에 의해 생성 된'stub' 클래스가 내부적으로 서버에 연결하기 위해'RMI'와'CORBA'를 사용했다는 것을 의미합니다. 클라이언트 POV에서 엔티티 또는 세션 빈은 스텁을 통해 액세스 할 수있는 원격 객체였습니다. – SJuan76

+0

요즘과 다른가요? 방법? –

1
  1. 전문 콩는 : 자바 EE 5하기 때문에, EJB 주석 @EJB로 설정합니다. 모든 annotaion은 인터페이스처럼 작동합니다. 이 간단한 annotation은 보안 및 트랜잭션 관리를 제공하여 컴파일시 비즈니스 로직을 위임합니다.

  2. JPA : 자바 EE 5는 이제 컨테이너 관리 엔티티 빈을 생성하고 지속성 컨텍스트를 통해 데이터베이스와 통신 서버보다 POJO에에 @Entity을 넣으면 때문에 더 이상 엔티티 빈은 남아있다.

+0

그것은 뜻이 '@EJB 에서 myBean' 같은 RMI에 대한 –

+0

하나 더 질문 (내 질문에 편집 된 섹션 참조) –