Esse seu objeto é a classe certo? Ele está indo sem ID? O.o Quando você faz o cast, faz um debug aí e veja se seu objeto está com ID.
Acho que tem sim, porque é o mesmo que vai para o insert e para o update e eles funcionam. De qualquer forma, vou fazer isso ! Vou fazer um debug pra ver o que tá pegando. Mas acho que é algo do próprio TopLink.
Se isso der certo, vou ter um gerador de formularios padrão. Insert, Delete, Update e a busca de forma automatica. Vai facilitar demais a minha vida rs.
Valew, muito obrigado pela ajuda.
Realmente tá muito estranho.
Tenta fazer um find e depois remove o objeto que vc encontrou:
AsUsuario asUsuario = (AsUsuario) obj;
asUsuario = em.find(AsUsuario.class, asUsuario.getId()); // Não sei se é essa a ordem correta dos parametros.
em.remove(asUsuario);
Sua app tá levantando sem erro?
Opa,
Aí sim hein ! Mas neste caso, eu passei o ID.
Quando eu tenho um Object apenas, eu não consigo fazer o get no ID.
Conclusão. Se eu passo o ID blz, se eu tiro o find com o ID , dá zica.
Como você esta utilizando conexão manual, talvez seja um requisito que o objeto tenha que estar attached através do find.
Se funcionou coloca um Resolvido aí e como ficou o código para ajudar os outros. [=
Sim,
Funcionou, no primeiro post eu colei o código já funcionando desta forma. Acontece que eu gostaria de não precisar do ID. Essa é a questão e o motivo pelo qual eu abri o post.
Valew
Mas você precisa. Sem ele, o JPA não iria saber quem é o fulano.
Coloca um resolvido aí para ajudar outros.
Coloquei o resolvido… mas não tô satisfeito. Vou dar uma pesquisada e logo coloco as novidades.
Obrigado a todos.
Trabalhei com um projeto que usava dessa maneira. acho que pode te ajudar
public class DAO<T> {
private final Class<T> classe;
public DAO(Class<T> classe) {
this.classe = classe;
}
public void remove(T t) {
EntityManager em = new JPAUtil().getEntityManagerOracle1();
em.getTransaction().begin();
em.remove(em.merge(t));
em.getTransaction().commit();
em.close();
}