nandobgi:
O problema é que estou utilizando Session do Hibernate para persistencia e essas anotações só funcionam com EntityManager.
Valeu
não é verdade ^^ ... funciona com session tb... so configurar ^^ ...
e mais, EntityManager do Hiberante é apenas um adaptador para uma Session... tanto que vc pode fazer o seguinte
Session session = ((HiberanteEntityManager)entityManager).getSession();
e depois trabalhar diretamente com a session....
da uma olhada nessa classe que eu tenho... que esta logo abaixo... essa classe carrega a partir de uma EntityManagerFactory, e configura automáticamente para as anotações como @PrePersist funcionarem... e vc pode muito bem trabalhar apenas com sessions... usando
Session s = EntityUtils.getNewSession();
Obs.: vc precisa alterar o nome de "Sua_PU" para o adequado ao seu projeto
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.ejb.HibernateEntityManager;
import org.hibernate.ejb.HibernateEntityManagerFactory;
/**
*
* @author Tomaz Lavieri
*/
public class EntityUtils {
/**
* Fabrica de Entity Managers
*/
private static final EntityManagerFactory ENTITY_MANAGER_FACTORY =
java.beans.Beans.isDesignTime() ?
null :
javax.persistence.Persistence
.createEntityManagerFactory("Sua_PU");
/**
* Fabrica de Hiberante Sessions
*/
private static final SessionFactory SESSION_FACTORY =
((HibernateEntityManagerFactory)ENTITY_MANAGER_FACTORY)
.getSessionFactory();
/**
* Entity Manager publico, usado apenas para consultas.
*/
public static EntityManager ENTITY_MANAGER =
ENTITY_MANAGER_FACTORY.createEntityManager();
/**
* Hibernate Session publica, usada apenas para consulta (mesma sessão usada
* por {@link #ENTITY_MANAGER}
*/
public static Session SESSION =
((HibernateEntityManager)ENTITY_MANAGER).getSession();
/**
* Cria um novo Entity Manager
* @return
*/
public static EntityManager getNewEntityManager() {
return ENTITY_MANAGER_FACTORY.createEntityManager();
}
/**
* Cria uma nova Hibernate Session.
* @return
*/
public static Session getNewSession() {
return SESSION_FACTORY.openSession();
}
}