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( ); } } }