Commit with org.hibernate.transaction.CMTTransactionFactory
Bonjour à tous,
J'utilise hibernate dans un projet EAR avec différentes EJB. Mon serveur d'application est glassfish v3.
Mon fichier de configuration hibernate correspond à :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
<property name="hibernate.default_schema">public</property>
<property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
<property name="hibernate.show_sql">false</property>
<property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/database</property>
<property name="hibernate.transaction.factory_class">org.hibernate.transaction.CMTTransactionFactory</property>
<property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.SunONETransactionManagerLookup</property>
<mapping resource=""/>
[...]
</session-factory>
</hibernate-configuration> |
Dans mon WS, je déclare :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
@WebService(name = "RegistrationWS", serviceName = "RegistrationWS", portName = "RegistrationPort")
@Stateless()
public class RegistrationWS implements IRegistrationWS {
@Override
public String addSociety()
throws YousignException {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
object=new Object();
session.save(object);
}
} |
Rien n'est commit en base, je ne comprends pas pourquoi. Je n'ai pas de message d'erreur dans glassfish. Il me semblait qu'avec org.hibernate.transaction.CMTTransactionFactory, il n'y avait pas besoin de commit.
Merci pour votre aide !