-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Cristian Donciulescu
Sent: Thursday, September 06, 2001 1:41 AM
To: Orion-Interest
Subject: Stored procedures and J2EEIs it possible (and recommended) to use stored procedures with the J2EE architecture? We would be interested in creating objects directly into the database, bypassing the create method of the enterprise bean. Is this possible when using CMP (Container Managed Persistence)? If not, in your opinion, which is best: using BMP and stored procedures or using CMP?
Example: We have an Oracle DB that uses packages associated to the business objects of the system. These packages contain the PL/SQL methods of the corresponding business objects. Additionally every business object's fields are stored as columns of a specific table. The constructor of a business object is also a method in the associated package. The inheritance relation between two objects is modeled by making the primary key of the child object's table reference the primary key field of the parent object's table. This reference means that the child inherits the fields of the parent. Thus, the constructor of a child object, which is passed all the parameters required for itself and its parent's initialization, will call the constructor of its parent passing the appropriate parameters. The question is:
How could such constructors be used without conflicting with the create methods of the CMP entity beans?
Get your FREE download of MSN Explorer at http://explorer.msn.com
Using
EJB means that you can use CMP, BMP or an Object/Relation Mapping tool. I have
found CMP to be very limited. I have found BMP with stored procedures way
more flexible when working with relational database and I have found
Object/Relation mapping even better. An O/R mapping tool like Cocobase allows
you decouple your objects from your data model via dynamic binding. CMP
will tightly bind your objects to your data - which according to the Patterns
community is a bad thing. My experience with CMP leads me to believe that
its creators/supporters are a religious myopic bunch. First there is EJB
1.0, then EJB 1.1 and now EJB 2.0 which btw cannot handle Primary Key creation
via Identity/Sequence column without a hack. In heterogeneous environments where
you have multiple applications talking to the same database, the database
engine must be in charge of Primary key generation.
As for
"There is absolutely no hit on performance if you pull out all of your business
logic into a slsb or cmp...there's just no need to use store procedures any
more."
It is
a fact that static SQL runs faster that dynamic SQL, and (generally)
pre-compiled Stored procedures run faster than static SQL. So, in a model that
employs multiple tiers, improving the speed in one tier can improve the overall
speed of you application, watch out for network I/O though.
My 2
cents,
Bill
G...
- Stored procedures and J2EE Cristian Donciulescu
- RE: Stored procedures and J2EE The elephantwalker
- RE: Stored procedures and J2EE Cristian Donciulescu
- RE: Stored procedures and J2EE The elephantwalker
- Re: Stored procedures and J2EE Rian Schmidt
- RE: Stored procedures and J2EE The elephantwalker
- RE: Stored procedures and J2EE Juan Lorandi (Chile)
- RE: Stored procedures and J2EE Bill G
- RE: Stored procedures and J2EE The elephantwalker
- RE: Stored procedures and J2EE Bill G
- Re: Stored procedures and J2EE Daniel López
- RE: Stored procedures and J2EE Frank Eggink
- RE: RE: Stored procedures and J2EE Troy Wong
- RE: RE: Stored procedures and J2EE Frank Eggink