Estou com o seguinte problema:
Ao tentar configurar o classpath do ireport para criar um relatório utilizando hibernate annotations (Conexão EJBQL),
adiciono os jars necessários e a pasta onde está o arquivo persistence.xml (cujo a localização é minhaAplicacao/src/META-INF/persistence.xml).
Porém, ao criar uma conexão EJB, o ireport não encontra o arquivo persistence.xml e exibe a seguinte mensagem de erro:
“No Persistence provider for EntityManager named meuteste”.
Alguém poderia me ajudar a configurar isso direitinho???
Segue abaixo os códigos.
OBS: a classe TipoConexao é responsável por passar os dados referentes à conexão com o BD (servidor, usuário, senha,…),
que estão armazenados num arquivo properties e que são “setados” de acordo com a opção selecionada na hora do login do usuário no sistema.
[quote=walyson amaral]Qual servidor de aplicação está usando ?
Como você está fazendo a chamada ao persistence-unit “meuteste” ?[/quote]
Estou iniciando por isso não tenho muita experiência…
Estou utilizando o TomCat e no meu sistema não faço nenhuma chamada ao persistence-unit “meuteste” .
Estou tentando utilizá-lo somente através do iReport.
[quote=walyson amaral]Estou tentando utilizá-lo somente através do iReport.
cnunes, não entendi…quem ta injetando o persistence unit para voce ?[/quote]
Walyson,
Como eu disse estou iniciando e estou meio confusa.
Deixa eu tentar te explicar.
A minha aplicação web está funcionando direitinho com o hibernate annotations (até aqui não utilizei o persistence.xml).
Resolvi pesquisar como criar relatórios utilizando o hibernate annotations e li em alguns posts que é necessário utilizar este arquivo persistence.xml.
Por isso é que criei este arquivo . . .
Vc terial algum tutorial que explore a criação de relatórios utilizando hibernate annotations que possa me indicar?
Muito obrigada pela ajuda e pela paciência, sei que ainda tenho muito para caminhar em relação ao Java.
cnunes, ok, vou tentar ajudar apesar de não ser muito didatico.
A origem do seu erro era :
se sua aplicação estava funcionando sem o persistence.xml, uma vez que voce não está usando spring para injetar o entityManager nem um jboss da vida, neste caso aconselho você retira-lo.
Quanto ao relatorio, não sei como você está fazendo para popular este relatorio, eu imagino que você esteja passando um objeto para o *.jasper, correto ?
[quote=walyson amaral]cnunes, ok, vou tentar ajudar apesar de não ser muito didatico.
A origem do seu erro era :
se sua aplicação estava funcionando sem o persistence.xml, uma vez que voce não está usando spring para injetar o entityManager nem um jboss da vida, neste caso aconselho você retira-lo.
Quanto ao relatorio, não sei como você está fazendo para popular este relatorio, eu imagino que você esteja passando um objeto para o *.jasper, correto ?
[/quote]
Oi Walyson,
Muito obrigada pela ajuda mesmo!
Eu acho que acabei me enrrolando aqui com tantos exemplos que eu vi.
Na verdade eu não utilizo o persistence.xml ( e acho que nem EJB ).
A minha aplicação só utiliza o hibernate annotatios.
Os dados referentes à conexão com o BD estão no arquivo hibernate.properties (pois de acordo com a seleção de uma opção na hora do login, o sistema pode acessar BD diferentes)
Segue abaixo uma parte da classe com a configuração das classes com as anotações (nessa classe acesso os dados do hibernate.properties tb).
AnnotationConfiguration cfg = new AnnotationConfiguration();
cfg.addAnnotatedClass(MinhaClasse1.class);
cfg.addAnnotatedClass(MinhaClasse2.class);
cfg.addAnnotatedClass(MinhaClasse3.class);
.
.
.
cfg.addAnnotatedClass(MinhaClasseN.class);
//Carrega o hibernate.properties
Properties prop = cfg.getProperties();
//Seta com os parâmetros da conexão
prop.setProperty(URL, tc.getUrl());
prop.setProperty(USERNAME, tc.getUsername());
prop.setProperty(PASSWORD, tc.getPassword());
org.hibernate.SessionFactory factory = cfg.setProperties(prop).buildSessionFactory();
O sistema está funcionando direitinho.
O meu problema é na hora de criar um relatório no iReport (3.0.0), como eu não utilizo o hibernate.cfg.xml, eu não sei como setar o tipo de conexão na hora de criar o relatório.
Tentei utilizar uma conexão EJBQL (por isso a utilização do persistence.xml).
Nas opções do iReport não existe nenhum tipo de conexão que envolva hibernate annotations.
Mais 1 vez muito obrigada pela sua paciência, pois volto a ressaltar que ainda tenho muuuuuuuuuuuuuiiiiiiiiiiiittttttttttooooooooooooo a aprender