Chapter 6. Component Contract for Container-Managed Persistence (CMP)

This page discusses - Chapter 6. Component Contract for Container-Managed Persistence (CMP)

Chapter 6. Component Contract for Container-Managed Persistence (CMP)

Chapter 6. Component Contract for Container-Managed Persistence (CMP)

Identify correct and incorrect statements or examples about the entity bean provider's view and programming contract for CMP, including the requirements for a CMP entity bean.

An entity bean implements an object view of a business entity or set of business entities stored in an underlying database or implemented by an existing enterprise application

An entity bean with container-managed persistence (CMP) typically consists of its entity bean class; a component interface which defines its client view business methods; a home interface which defines the create, remove, home, and finder methods of its client view; and its abstract persistence schema as specified in the deployment descriptor (META-INF/ejb-jar.xml).

A client of an entity bean can control the lifecycle of a bean by using the bean’s HOME interface and can manipulate the bean as a business entity by using the methods defined by its COMPONENT interface. The home and component interfaces of a bean define its CLIENT VIEW.

The bean provider MUST observe the following programming contract when defining an entity bean class that uses container-managed persistence (CMP):

  • The Bean Provider must define the entity bean class as an ABSTRACT class. The container provides the implementation class that is used at RUNTIME.

  • The container-managed persistent fields and container-managed relationship fields MUST NOT be defined in the entity bean class. From the perspective of the Bean Provider, the container-managed persistent (CMP) fields and container-managed relationship (CMR) fields are VIRTUAL fields only, and are accessed through get and set accessor methods. The IMPLEMENTATION of the container-managed persistent fields and container-managed relationship fields is supplied by the Container.

  • The container-managed persistent (CMP) fields and container-managed relationship (CMR) fields MUST be specified in the deployment descriptor (DD) using the cmp-field and cmr-field elements respectively. The names of these fields MUST be valid Java identifiers and must begin with a LOWERCASE letter.

  • The Bean Provider MUST define the accessor methods for the container-managed persistent fields and container-managed relationship fields as get and set methods, using the JavaBeans conventions. The IMPLEMENTATION of the accessor methods is supplied by the Container.

  • The accessor methods MUST be public, MUST be abstract, and MUST bear the name of the container-managed persistent field (cmp-field) or container-managed relationship field (cmr-field) that is specified in the deployment descriptor (DD), and in which the first letter of the name of the cmp-field or cmr-field has been UPPERCASED and prefixed by “get” or “set”.

  • The accessor methods for a container-managed relationship (CMR) field MUST be defined in terms of the LOCAL interface of the related entity bean.

  • The accessor methods for container-managed relationship fields for one-to-many or many-to-many relationships MUST utilize one of the following Collection interfaces: java.util.Collection or java.util.Set. The Collection interfaces used in relationships are specified in the deployment descriptor. The IMPLEMENTATION of the collection classes used for the container-managed relationship fields is supplied by the Container.

  • An entity bean local interface type (or a collection of such) CAN be the type of a cmr-field. An entity bean local interface type (or a collection of such) CAN NOT be the type of a cmp-field.

  • The accessor methods for the container-managed relationship fields MUST NOT be exposed in the REMOTE interface of an entity bean.

  • The LOCAL interface types of the entity bean and of related entity beans MUST NOT be exposed through the REMOTE interface of the entity bean.

  • The collection classes that are used for container-managed relationships MUST NOT be exposed through the REMOTE interface of the entity bean.

  • Once the primary key for an entity bean has been set, the Bean Provider MUST NOT attempt to change it by use of set accessor methods on the primary key cmp-fields. The Bean Provider SHOULD therefore NOT expose the SET accessor methods for the primary key cmp-fields in the component interface of the entity bean.

  • The Bean Provider MUST ensure that the Java types assigned to the cmp-fields are restricted to the following: Java primitive types and Java serializable types.

Visit http://java.boot.by  for the updates.

Tutorials

  1. Appendix A. First Appendix
  2. Second Section
  3. Third Section
  4. Part II. Appendixes
  5. From a list, identify the responsibility of the bean provider and the responsibility of the container provider for a message-driven bean.
  6. Chapter 6. Component Contract for Container-Managed Persistence (CMP)
  7. Identify correct and incorrect statements or examples about persistent relationships, remove protocols, and about the abstract schema type of a CMP entity bean.
  8. Identify the interfaces and methods a CMP entity bean must and must not implement.
  9. Match the name with a description of purpose or functionality, for each of the following deployment descriptor elements: ejb-name, abstract-schema-name, ejb-relation, ejb-relat
  10. Identify correctly-implemented deployment descriptor elements for a CMP bean (including container-managed relationships).
  11. From a list, identify the purpose, behavior, and responsibilities of the bean provider for a CMP entity bean, including but not limited to: setEntityContext, unsetEntityContext, ejbC
  12. Chapter 7. CMP Entity Bean Life Cycle
  13. Identify correct and incorrect statements or examples about the rules and semantics for relationship assignment and relationship updating in a CMP bean.
  14. From a list, identify the responsibility of the container for a CMP entity bean, including but not limited to: setEntityContext, unsetEntityContext, ejbCreate, ejbPostCreate, ejbActi
  15. Given a code listing, determine whether it is a legal and appropriate way to programmatically access a caller's security context.
  16. Chapter 10. Message-Driven Bean Component Contract
  17. Identify correct and incorrect statements about the purpose and use of the deployment descriptor elements for environment entries, EJB references, and resource manager connection factory r
  18. Identify the use and the behavior of the ejbPassivate method in a session bean, including the responsibilities of both the container and the bean provider.
  19. Chapter 12. Exceptions
  20. Identify correct and incorrect statements or examples about the client view of an entity bean's local component interface (EJBLocalObject).
  21. Identify EJB 2.0 container requirements.
  22. Chapter 1. EJB Overview
  23. Identify correct and incorrect statements or examples about EJB programming restrictions.
  24. Chapter 9. EJB-QL
  25. Identify correct and incorrect statements or examples about the purpose and use of EJB QL.
  26. Identify correct and incorrect conditional expressions, BETWEEN expressions, IN expressions, LIKE expressions, and comparison expressions.
  27. Identify correct and incorrect statements or examples about the client view of a entity bean's remote component interface (EJBObject).
  28. Given a list, identify which are requirements for an EJB-jar file.
  29. Match EJB roles with the corresponding description of the role's responsibilities, where the description may include deployment descriptor information.
  30. Chapter 2. Client View of a Session Bean
  31. Chapter 13. Enterprise Bean Environment
  32. Chapter 8. Entity Beans
  33. Identify the use, syntax, and behavior of, the following entity bean home method types, for Container-Managed Persistence (CMP); finder methods, create methods, remove methods, and home me
  34. Identify correct and incorrect statements or examples about an entity bean's primary key and object identity.
  35. Identify correct and incorrect statements or examples about the client's view of exceptions received from an enterprise bean invocation.
  36. Identify correct and incorrect statements or examples about application exceptions and system exceptions in entity beans, session beans, and message-driven beans.
  37. Given a particular method condition, identify the following: whether an exception will be thrown, the type of exception thrown, the container's action, and the client's view.
  38. Given a list of responsibilities related to exceptions, identify those which are the bean provider's, and those which are the responsibility of the container provider. Be prepared to recog
  39. SCBCD Study Guide
  40. Identify the use and behavior of the MessageDrivenContext interface methods.