Ok, this one is more of a practical interest, than for the exam. In ejb quiz at Sun's site there was a question, namely "when is the entity considered created?". The correct answer was "right after ejbCreate()". To the best of my knowledge, this quiz was based on EJB 1.1, and now I want to catch the core of the question applied to EJB 2.0. As you know, we have a wonderful pretty thing in EJB 2.0 - CMP relations. Suppose, we have a User entity, which in turn has relationships like this: User->Country, User->MobilePhone. At the database level the relations are mapped as mandatory (e.g. FK constraint is declared as NOT NULL). Will I be right if I restate the correct answer now to be "after ejbPostCreate() method"? The relationships are setup in ejbPostCreate(), and if we leave out their initilisation (not setting them), the error will occur at the DB level and up. (proven by practice). I see the cause of my doubts only in the older version (EJB 1.1) of the quiz.
I think this point is made amply clear in Monson- Haefel's book. Also as a side-effect, all the EjbContext methods for entity beans (like getEjbObject) become available starting from ejbPostCreate(), and NOT from ejbCreate(). Thanks