[jboss-user] [EJB 3.0] - Em does not rollback

vphagura do-not-reply at jboss.com
Fri Aug 3 15:38:24 EDT 2007


Folks,

I have the following code;

@Enitity
  | public class Cruise
  | {
  |          private Collection<Reservation> reservations;
  | ...
  |          @OneToMany(cascade = CascadeType.ALL, mappedBy="cartridge")
  | 	public Collection<Reservation> getReservations() {
  | 		return reservations;
  | 	}
  | 
  |            public void setReservations(Collection<Reservation> reservations) {
  | 		this.reservations= reservations;
  | 	}
  | ...
  | }
  | 
  | @Enitity
  | public class Reservation
  | {
  |       private Cruise cruise;
  | ...
  |      @ManyToOne(cascade = {CascadeType.ALL})
  |      @JoinColumn(name="cruiseId", nullable=true)
  |      public Cruise getCruise() {
  | 		return cruise ;
  | 	}
  | 
  |      public void setCruise(Cruise cruise ) {
  | 		this.cruise = cruise;
  | 	}
  | ...
  | }
  | 
  | @Stateless
  | public class PersistBean 
  | {
  | 	
  | 	/** Injected EntityManger */
  | 	@PersistenceContext( unitName="eg")
  | 	protected EntityManager em = null;
  | 
  | ...
  | 
  |         public void persist( Set reservations, Curise cruise )
  |         {
  |              .....
  |              Iterator it = reservations.iterator();
  |              while( it.hasNext() )
  |              {
  |                   Reservation r = (Reservation)it.next();
  |                   r.setCruise( cruise );
  |                   em.persist( r );
  |              }
  |             ......
  |          }
  | 
  | ....
  | }

Now, I'm trying to write just 4 reservations. And, on the 4th one I get a db error about a contraint being voilated! I find that the first 3 records are writen to the Reservation table. 

My point is that, if my persist() method is running in a transaction, which I believe it is, then the first 3 records should have been rolledback, following an error on the 4th record!!!!

Please help! Any help will be appreciated. Thx in adv!


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4070762#4070762

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4070762



More information about the jboss-user mailing list