Hi,

I have noticed that in my application I have lots of similarly structured
methods to read records from a database. For example, I have a session bean
called ProjectManager, which has methods like these:

  ProjectValue getProject(int id)
  TaskGroup getTaskGroup(int id)
  ProjectClass getProjectClass(int id)

and so on. The implementations of these methods are very similar, they all
issue a SELECT statement and fill the value objects (which are not much more
than struct-like entities, with public fields corresponding to all columns of
the associated database table) with the obtained results, like

  resultSet = statement.executeQuery("SELECT name, creationDate [...] FROM
  Project WHERE id=" + id);

  projectValue.name = resultSet.getString("name");
  projectValue.creationDate = resultSet.getDate("creationDate");

Now, here is what I thought of, and I'd like to hear your comments on this:

I want to create a SessionBean, let's call it DatabaseUtil, with a method
like:

  Object getRecord(String tableName, int id)

this method would use the java reflection package to look up a class named
<tableName>Value, retrieve the names of all of its public fields, construct a
SELECT statement from these field names, and construct a new <tableName>Value
object from the returned result set.

This approach would save a lot of redundant coding. Can you think of any
potential drawbacks? What about performance overhead when using reflection?
(I gather J2EE uses it all the time anyway)?

thx
Heiko

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff EJB-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to