depurei nao da erro nenhum ele passa no metodo, adicionei um flush logo apos o remove, no console vi a saida do comando delete, mas no banco nao deletou nada
Hebert_Coelho
Faça um commit() e depois flush();
furacao123
mas o spring nao deveria controlar as transações automaticamente?
no getEntityManager nao tenho a opção commit
furacao123
minha classe genericJpaDao
publicabstractclassGenericJpaDao<T,IDextendsSerializable>{privateClass<T>entityBeanType;@PersistenceContextprotectedEntityManagerem;publicGenericJpaDao(){TypegenericSuperclass=getClass().getGenericSuperclass();ParameterizedTypetype=(ParameterizedType)genericSuperclass;this.entityBeanType=((Class)type.getActualTypeArguments()[0]);}publicvoidsetEntityManager(EntityManagerem){this.em=em;}protectedEntityManagergetEntityManager(){if(this.em==null){thrownewIllegalStateException("EntityManager has not been set on DAO before usage");}returnthis.em;}protectedClass<T>getEntityBeanType(){returnthis.entityBeanType;}...publicvoidremove(Tentity){getEntityManager().remove(entity);}
Hebert_Coelho
furacao123:
mas o spring nao deveria controlar as transações automaticamente?
no getEntityManager nao tenho a opção commit
Não sei como está configurado seu Spring, mas imagino que a configuração default seja auto-commit.
Bizarro é ele não remover ou fazer qualquer outra coisa.
furacao123
Estranho mesmo, sera que é alguma coisa com o Junit, pois estou utilizando esse remove no ambiente de testes
dtxk
furacao123:
Estou tentando testar os meus repositorios do Spring que utilizam JPA + Hibernate, mas quando chamo o metodo remove, nao é executado nada
meu GenericJpadao
public void remove(T entity) {
getEntityManager().remove(entity);
}