Auto World 예제에는 루트/리프 상속을 사용하여 빌드한 CMP(Container-Managed
Persistence)의 EJB 2.0 엔티티 Bean이 포함되어 있습니다.
Vehicle은 모든 리프 엔터프라이즈 Bean이 파생된 루트 엔트프라이즈 Bean입니다. 리프에는
RaceCar, Bus 및 SUV가 있습니다. 또한 Garage와 MotorVehiclePart에 대한 일 대 다 관계 및
VapUSPhoneNumber에 대한 사용자 정의 작성기(Vehicle 엔티티 필드)가 Auto World에 포함됩니다. 모든
엔터프라이즈 Bean에서는 파인더를 사용하여 영구 오브젝트의 모든 인스턴스를 찾습니다.
EJB 프로젝트에는 다음과 같은 엔터프라이즈 Bean이 있습니다.
- Vehicle: 루트 엔터프라이즈 Bean으로서 CMP 필드는 id, dateAcquired 및
cellphone입니다.
- Automobile: Vehicle에서 상속되면 CMP 필드 numberOfAirBags
RaceCar가 추가되고 Automobile에서 상속되면 CMP 필드 topSpeed가 추가됩니다.
- Bus: Vehicle에서 상속되고 CMP 필드 maximumPassengers가 추가됩니다.
- Truck: Vehicle에서 상속되고 CMP 필드 maximumLoad, numberOfWheels가 추가됩니다.
- SUV: Truck에서 상속되지만 추가 CMP 필드가 없습니다.
- Garage: Vehicle과 일 대 다 관계이며 CMP 필드는 id, capacity입니다.
- MotorVehiclePart: Vehicle과 다 대 일 관계이며 CMP 필드는 partId, description입니다.