>From reading the transaction section of the trailblazer on ejb 3 >(http://trailblazer.demo.jboss.com/EJB3Trail/services/transaction/index.html) >I get the impression that transactions are always enabled, and that I don't >have to write any code or use any transaction annotations at all, and still >know that transactions are used. Am I right, or am I wrong?
It is the following words that make me assume this (from the trailblazer):anonymous wrote : If a method does not have a transaction annotation, it is assigned the default transaction property REQUIRED by the EJB 3.0 container. But it also says: anonymous wrote : In EJB 3.0, the EntityManager must run in a transactional context to ensure the database integrity. So, does that mean, in my session bean, that I have to obtain the transaction manager from the entity manager and use it to ensure that transactions are used? Like in the following example: @PersistenceContext | private EntityManager em; | ... | EntityTransaction tx = em.getTransaction(); | tx.begin(); | | CD cd = new CD( "The Beatles", "Rubber Soul" ); | cd.addTrack( new Track( 220, "Norwegian Wood" ) ); | cd.addTrack( new Track( 180, "Drive My Car" ) ); | em.persist( cd ); | | cd = new CD( "Deep Purple", "Machine Head" ); | cd.addTrack( new Track( 200, "Smoke On The Water" ) ); | cd.addTrack( new Track( 480, "Lazy" ) ); | em.persist( cd ) ; | | tx.commit(); | em.close(); | Or could I simply remove the 3 lines using tx as well as remove all transation annotations from the entity bean, and still be sure that transactions are used? Another wondering about the code above; if I only created one CD (and not two as above), would it be even relevant to talk about transactions? View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3957985#3957985 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3957985 _______________________________________________ jboss-user mailing list [email protected] https://lists.jboss.org/mailman/listinfo/jboss-user
