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

This page discusses - 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

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

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 methods.

REMOTE view CMP Entity EJB

An entity bean’s remote home interface defines ONE (AT LEAST findByPrimaryKey(pKey)) or MORE finder methods, one for each way to find an entity object or collection of entity objects within the home. The name of each finder method starts with the prefix “find”,

The return type of a finder method on the REMOTE HOME interface must be the entity bean’s REMOTE interface, or a type representing a collection (java.util.Collection or java.util.Set) of objects that implement the entity bean’s REMOTE interface.

The throws clause of EVERY finder method on the remote home interface includes the java.rmi.RemoteException and the javax.ejb.FinderException.

The following example shows the findByPrimaryKey method:

public interface AccountHome extends javax.ejb.EJBHome {
...
public Account findByPrimaryKey(String AccountNumber)
	throws RemoteException, FinderException;
}
					
					
AccountHome = ...;
Account account = accountHome.findByPrimaryKey(?100-3450-3333?);
					

An entity bean’s remote home interface can define ZERO or MORE create<METHOD>(...) methods. The arguments of the create methods are typically used to initialize the state of the created entity object. The name of each create method starts with the prefix “create”.

The RETURN type of a create<METHOD> method on the REMOTE HOME interface is the entity bean’s REMOTE interface.

The throws clause of EVERY create<METHOD> method on the REMOTE home interface includes the java.rmi.RemoteException and the javax.ejb.CreateException. It MAY include additional application-level exceptions.

public interface AccountHome extends javax.ejb.EJBHome {
	public Account create(String firstName, String lastName,
		double initialBalance)
		throws RemoteException, CreateException;
	public Account create(String accountNumber,
		double initialBalance)
		throws RemoteException, CreateException,
			LowInitialBalanceException;
	public Account createLargeAccount(String firstname,
		String lastname, double initialBalance)
		throws RemoteException, CreateException;
	...
}
					
					
AccountHome accountHome = ...;
Account account = accountHome.create(?John?, ?Smith?, 500.00);
					

The javax.ejb.EJBHome interface defines several methods that allow the client to REMOVE an entity object.

public interface EJBHome extends Remote {
	void remove(Handle handle) throws RemoteException,
		RemoveException;
	void remove(Object primaryKey) throws RemoteException,
		RemoveException;
}					
					
After an entity object has been removed, subsequent attempts to access the entity object by a remote client result in the java.rmi.NoSuchObjectException.

An entity bean’s remote home interface MAY define one or more HOME METHODS. Home methods are methods that the bean provider supplies for business logic that is NOT SPECIFIC to an entity bean instance. They MUST NOT start with “create”, “find”, or “remove”. The method arguments and return value types of a home method on the remote home interface MUST be legal types for RMI-IIOP.

The throws clause of EVERY home method on the remote home interface includes the java.rmi.RemoteException. It may also include additional application-level exceptions.

public interface EmployeeHome extends javax.ejb.EJBHome {
	...
	// this method returns a living index depending on
	// the state and the base salary of an employee:
	// the method is not specific to an instance
	public float livingIndex(String state, float Salary)
		throws RemoteException;
		
	// this method adds a bonus to all of the employees
	// based on a company profit-sharing index
	public void addBonus(float company_share_index)
		throws RemoteException, ShareIndexOutOfRangeException;
	...
}
					

LOCAL view CMP Entity EJB

An entity bean’s local home interface defines ONE (findByPrimaryKey(primaryKey) method is MANDATORY for all Entity Beans) or MORE finder methods. The name of each finder method starts with the prefix “find”. The return type of a finder method on the local home interface MUST be the entity bean’s LOCAL interface, or a type representing a collection (java.util.Collection or java.util.Set) of objects that implement the entity bean’s LOCAL interface.

The throws clause of EVERY finder method on the LOCAL HOME interface includes the javax.ejb.FinderException. The throws clause MUST NOT include the java.rmi.RemoteException.

The local home interface includes the findByPrimaryKey(primaryKey) method, which allows a client to locate an entity object using a primary key. The name of the method is always findByPrimaryKey; it has a single argument that is the SAME type as the entity bean’s primary key type, and its return type is the entity bean’s LOCAL INTERFACE. There is a unique findByPrimaryKey(primaryKey) method for an entity bean on its local home interface; this method MUST NOT be overloaded.

public interface AccountHome extends javax.ejb.EJBLocalHome {
	...
	public Account findByPrimaryKey(String AccountNumber)
		throws FinderException;
}		
					
					
AccountHome = ...;
Account account = accountHome.findByPrimaryKey(?100-3450-3333?);			
					

An entity bean’s local home interface can define ZERO or MORE create<METHOD>(...) methods. The name of each create method starts with the prefix “create”.

The return type of a create<METHOD> method on the LOCAL HOME interface is the entity bean’s LOCAL interface.

The throws clause of EVERY create<METHOD> method on the LOCAL HOME interface includes the javax.ejb.CreateException. It MAY include additional application-level exceptions. It MUST NOT include the java.rmi.RemoteException.

public interface AccountHome extends javax.ejb.EJBLocalHome {
	public Account create(String firstName, String lastName,
		double initialBalance)
			throws CreateException;
	public Account create(String accountNumber,
		double initialBalance)
			throws CreateException, LowInitialBalanceException;
	public Account createLargeAccount(String firstname,
		String lastname, double initialBalance)
			throws CreateException;
	...	
}
					
					
AccountHome accountHome = ...;
Account account = accountHome.create(?John?, ?Smith?, 500.00);
					

The javax.ejb.EJBLocalHome interface defines the REMOVE method to allow the client to remove an entity object (NOTE, local objects do NOT have handles).

public interface EJBLocalHome {
	void remove(Object primaryKey) throws RemoveException,
		EJBException;
}					
					
After an entity object has been removed, subsequent attempts to access the local entity object by the local client result in the javax.ejb.NoSuchObjectLocalException.

An entity bean’s local home interface MAY define one or more HOME METHODS. Home methods are methods that the bean provider supplies for business logic that is NOT specific to an entity bean instance. They MUST NOT start with “create”, “find”, or “remove”.

The throws clause of a home method on the local home interface MAY include additional application-level exceptions. It MUST NOT include the java.rmi.RemoteException.

public interface EmployeeHome extends javax.ejb.EJBLocalHome {
	...
	// this method returns a living index depending on
	// the state and the base salary of an employee:
	// the method is not specific to an instance
	public float livingIndex(String state, float Salary);
	
	// this method adds a bonus to all of the employees
	// based on a company profit sharing index
	public void addBonus(float company_share_index)
		throws ShareIndexOutOfRangeException;
		
	...
}					
					

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.