Q/A
- @EJB Automatically filling in a dao. If the type of the Bean is unambigious, then JNDI will automatically insert your session bean reference.
- Would local interface imply different semantics than remote? The strictness could be better for testing…fail faster.
- Brett: Why use EJB3? class: security, easy web services, . brett: transaction demarcation, organizational mandate, standard (community+materials), entity beans done right (jpa), commercial support,
- Could you explain injection again? A mechanism to implement Inversion of Control. An object is told how to get ahold of something it needs by setting the reference before it becomes active.
- How is sun making any money?
- **Brett: Why should you use or not use stateful/stateless session beans? ** Stateless session beans: things you can fire and forget, lookups, etc. Stateful: Things where requirements dictate holding on to objects.
- How do you hold on to the same stateful bean object across requests? Store the delegate/ref in the httpsession.
-
-
Take Aways
- persistence.xml must be in right location or le be your butt.
- Generated values might not make it back to your object if it runs outside the context of a transaction.
- Merge returns a new object (unless the object is already managed)
- Injection using @EJB
- Use a set when possible (instead of list). Generally speaking, replace lists with collections
- **Name magic for mappedBy: Side with ‘mappedBy’ is the inverse side. Other side is the owner (‘can exist alone’). * ** **visual side discussion
- How to know when something detached/attached.
- Bi-directional relationships: how to properly delete (+verify it’s cleaned up)
- Try/catch/finally (in test) sometimes better than @Before/@After for certain init/cleanup
- There’s some value in having to suffer. (learning how to debug jpa issues)
- Extended Context: use w/stateful beans, keeps the cache open after the end of transaction
-
-
Comments