I am using a home-grown persistence layer in my current project. It gets the job done but has gotten to the stage where taking it forward will be much more expensive than grabbing something like OJB for future projects. But there is one thing (isn't there always?) about it that I really like.
Let's say that I have an Employee table with a need to link to a department. Following some semblance of 3NF I have a distinct department table that has an OID and a Name column. The Employee table simply uses the OID. I then create a nice little VIEW that has all of the employee data joined with the department data in a human readable form. I use this VIEW as the source when loading up my employee objects from the database and there is a read-only attribute for the department name. Very nice. That means that I only have one database hit and no extra coding to get all of that information out of the database and into the object for display in a JSP. Obviously that is a very simplistic example but it leads me to expanding to say that there are some VIEWs that you cannot insert into because of relational integrity issues. I am going to waffle here and say that I don't completely understand what is going on here because my SQL skills are far from spectacular but my DBA wagged his finger at me when I told him what I was trying to do. I had to set up my objects so that instead of attempting to insert into the VIEW they were inserting into the Employee table. Based on that example I have to ask 1) Does OJB have the concept of read-only attributes? I think so but I haven't gone digging far enough. 2) Can I specify that an object be persisted to a different table than it was read from which would allow me to select from a view and insert into a table? If I can't do #2 above then how would you suggest solving the problem of getting all the joined data into the object so I only have to make one database hit? rjsjr -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
