June 2004
Intermediate to advanced
792 pages
23h 17m
English
In addition to handling their own inserts
and updates, bean-managed entities must handle their own deletions.
When a client application invokes the remove method on the EJB home
or EJB object, that method invocation is delegated to the
bean-managed entity by calling ejbRemove( ). It is
the bean developer’s responsibility to implement an
ejbRemove( ) method that deletes the
entity’s data from the database.
Here’s the ejbRemove( ) method
for our bean-managed ShipBean:
public void ejbRemove( ) {
Connection con = null;
PreparedStatement ps = null;
try {
con = this.getConnection( );
ps = con.prepareStatement("delete from Ship where id = ?");
ps.setInt(1, id.intValue( ));
if (ps.executeUpdate( ) != 1) {
throw new EJBException("ejbRemove");
}
}
catch (SQLException se) {
throw new EJBException (se);
}
finally {
try {
if (ps != null) ps.close( );
if (con!= null) con.close( );
} catch(SQLException se) {
se.printStackTrace( );
}
}
}