File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes EJB and other Java EE Technologies and the fly likes Why use ejbpostcreate() after that ejbcreate() Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » EJB and other Java EE Technologies
Bookmark "Why use ejbpostcreate() after that ejbcreate()" Watch "Why use ejbpostcreate() after that ejbcreate()" New topic

Why use ejbpostcreate() after that ejbcreate()

Rajesh Pandey Rajesh Pandey

Joined: Mar 12, 2006
Posts: 24
Dear Freind
I try to know that why we use ejbpostcreate although we are using ejbcreate() after that using ejbpostcreate() why can anyone say about it

Thanks & regards
Rajesh Pandey
Mob:- +919811903737
Freelance Software Developer
india Delhi
Mark Spritzler

Joined: Feb 05, 2001
Posts: 17276

It is just an way to add hooks at different times. As you might have something available later that isn't available now.

However, now with EJB3 and AOP you can basically do the same thing without having all these interface methods like ejbPostCreate to get hooks in there.


Perfect World Programming, LLC - iOS Apps
How to Ask Questions the Smart Way FAQ
ak pillai
Ranch Hand

Joined: Feb 11, 2006
Posts: 288
ejbPostCreate() is called after the bean has been written to the database and the bean data has been assigned to an EJB object, so when the bean is available.

It is between ejbCreate and ejbPostCreate that the bean's proxy EJBObject is created.

In an CMP Entity EJB, this method is normally used to manage the beans' container-managed relationship fields.

java j2ee job interview questions with answers | Learn the core concepts and the key areas
Shrinivas Mujumdar
Ranch Hand

Joined: Aug 27, 2004
Posts: 328
If you can imagine one to many relationship like One Customer can place multiple Orders (1..*)then you can understand that record in customer is a must to have a record(s) in order table right?

In ejbCreate() you(BMP....say container in case of CMP) can insert a row in Customer if this is successful then ejbPostCreate() will be called (where you cam do a data insertion in Order table)ensuring data integrity.

Obviously this is one of the use....One important thing to remember is Primary Key is avaialble in ejbPostCreate() & not in ejbCreate()method
I hope this helps

Reid M. Pinchback
Ranch Hand

Joined: Jan 25, 2002
Posts: 775
Another difference, as you start mucking around with performance tuning options in a container, is that you'll find the database activities that correspond to ejbCreate and ejbPostCreate will shift around. Sometimes you can improve performance sometimes by delaying commits until after the post-create, but typically at a cost of a simple create exception instead of a duplicate key exception when you try to insert an already-used PK.
[ March 13, 2006: Message edited by: Reid M. Pinchback ]

Reid - SCJP2 (April 2002)
I agree. Here's the link:
subject: Why use ejbpostcreate() after that ejbcreate()
It's not a secret anymore!