Boa noite… Esta classe é abstrata e por iso nao posso instanciar a mesma. Porem eu tenho uma classe clientejpaController e eu preciso de uma isntancia desse UserTransaction pra me poder adicionar no banco de dados.
Se a classe nao fosse abstrata era so fazer isso:
UserTransaction utx = new UserTransaction();
Como faço pra instanciar assim?
javaflex
Voce pode usar no seu método a classe abstrata, mas quem chama o método deve passar uma instancia concreta. Qual seria o sentido de nao ser assim?
L
linuxdebian
quem for chamar o metodo… deve passar uma isntancia concreta…isso eu sabia… Eu nao to conseguindo é passar uma instancia concreta… da esse erro:
type Exception report
messageInternal Server Error
descriptionThe server encountered an internal error that prevented it from fulfilling this request.
exception
java.lang.annotation.AnnotationFormatError: Duplicate annotation for class: interface javax.validation.constraints.NotNull: @javax.validation.constraints.NotNull(message={javax.validation.constraints.NotNull.message}, groups=[], payload=[]
javaflex
Entao posta o código que voce faz a instancia. Exemplo:
ClasseAbstrata objeto = new ClasseConcreta();
staroski
Você não vai instanciar dessa forma pois você não sabe qual é a classe concreta que implementa a UserTransaction.
Quem sabe instanciar essa classe é a implementação do JTA.
Então você não vai usar a instrução new,
ou você anota sua variável com o @Resource, conforme o colega @Mike já explicou,
ou você pode tentar fazer um lookup pelo JNDI name "java:comp/UserTransaction".
.
L
linuxdebian
infelizmente nao consegui resolver desse modo… eu contornei o problema criando outro construtor e editando o metodo create…
eu terei que editar os outros metodos agora: edit, destroy… Eu queria mesmo era conseguir usando do jeito que o netbeans gera,
J
jrxxjr
Sei que já faz um bom tempo que responderam este tópico, mas eu fiz um tópico sobre como utilizar o controle explícito de transações JTA por BMT (Bean Managed Transactions), utiliza o objeto UserTransacition. Segue o link: http://www.tidicas.com.br/?p=319