org.hibernate.HibernateException: salvar não é válido sem transação ativa

Estou criandoJSF aplicação e usando algumas coisas de hibernação nele. Tudo o que quero fazer é salvar a entidade no banco de dados, mas continuo recebendo essa exceção:

org.hibernate.HibernateException: save is not valid without active transaction

No começo eu estava recebendo essa exceção:

org.hibernate.HibernateException: No CurrentSessionContext configured!

Então eu descobri que preciso adicionar isso à minha configuração de hibernação:

<property name="hibernate.current_session_context_class">thread</property>

Isso resolveu esse problema, mas agora aparece o acima. Estou salvando entidade em banco de dados assim:

public void create(T entity) {
    getSessionFactory().getCurrentSession().save(entity);
}

Meu arquivo hibernate.cfg.xml se parece com isto:

<hibernate-configuration>
    <session-factory>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/online_tests_management</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">root</property>
        <property name="hibernate.show_sql">true</property>
        <property name="hibernate.hbm2ddl.auto">update</property>
        <property name="hibernate.current_session_context_class">thread</property>

        <mapping class="com.groupgti.onlinetests.management.db.Service"/>
    </session-factory>
</hibernate-configuration>

Estou usando:

Hibernate-4.1.4.FinalJDK 1.6Tomcat 6JSF 2.0PrimeFaces 3.3.1MySql

Alguém sabe onde pode estar o problema?

questionAnswers(4)

yourAnswerToTheQuestion