/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.jpa.test.cdi.extended;
import javax.annotation.PostConstruct;
import javax.ejb.LocalBean;
import javax.ejb.Stateful;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.PersistenceContextType;
import org.hibernate.FlushMode;
import org.hibernate.Session;
/**
* @author Vlad Mihalcea
*/
@Stateful
@LocalBean
public class ManualFlushConversationalEventManager {
@PersistenceContext(type = PersistenceContextType.EXTENDED)
private EntityManager em;
@PostConstruct
public void init() {
em.unwrap( Session.class ).setHibernateFlushMode( FlushMode.MANUAL );
}
public Event saveEvent(String eventName) {
final Event event = new Event();
event.setName( eventName );
em.persist( event );
return event;
}
public void endConversation() {
em.flush();
}
}