Estou começando a criar meu primeiro relatório e estou tendo dificuldades na hora de conectar o ireport no banco com hibernate annotations.
Pesquisei no fórum, achei alguns tópicos, mas nenhum ajudou no problema, por isso criei o tópico.
Vou mostrar a hierarquia do projeto no netbeans…
[URL=http://img232.imageshack.us/my.php?image=hierarquia.jpg]
[/URL]
Seguindo um exemplo na net, crei o seguinte arquivo persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0"
xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2004/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="teste_relacionamento" transaction-type="RESOURCE_LOCAL">
<class>
relacionamentos.Tabela1
</class>
<class>
relacionamentos.Tabela2
</class>
<class>
relacionamentos.Tabela3
</class>
<properties>
<property name="toplink.jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="toplink.jdbc.url" value="jdbc:mysql://localhost/teste_relacionamento"/>
<property name="toplink.jdbc.password" value="1234"/>
<property name="toplink.jdbc.user" value="root"/>
<property name="toplink.logging.level" value="FINE"/>
<property name="" value="1234"/>
</properties>
</persistence-unit>
</persistence>
Já as minhas classes com annotations são essas:
package relacionamentos;
import javax.persistence.*;
@Entity
@Table(name="tabela1")
public class Tabela1 {
@Id
@Column(name="id")
@GeneratedValue
private int id = 0;
@Basic
@Column(name="nome")
private String nome = "";
public Tabela1(){
}
package relacionamentos;
import javax.persistence.*;
@Entity
@Table(name="tabela2")
public class Tabela2 {
@Id
@Column(name="id")
@GeneratedValue
private int id = 0;
@Basic
@Column(name="nome")
private String nome = "";
public Tabela2(){
}
package relacionamentos;
import java.util.Set;
import javax.persistence.*;
@Entity
@Table(name="tabela3")
public class Tabela3 {
@Id
@Column(name="id")
@GeneratedValue
private int id = 0;
@Basic
@Column(name="id_tabela1")
private int id_tabela1 = 0;
@Basic
@Column(name="id_tabela2")
private int id_tabela2 = 0;
//------------------------------------------------//
@OneToMany(mappedBy="id")
private Set<Tabela1> t;
@OneToMany(mappedBy="id")
private Set<Tabela2> t2;
//-----------------------------------------------//
public Tabela3(){
}
Depois de ter testado no banco, o hibernate funciona. Então, coloquei no classpath do ireport:
:arrow: .jar referente a aplicação;
:arrow: os 2 .jars referentes as bibliotecas do toplink;
:arrow: o diretório com as classes com annotations;
:arrow: e o diretório com o arquivo persistence.xml.
Depois de ter feito isso, quando clico no botão testar, e não dá erro algum, nem mensagem de sucesso!!!
Qual o problema?? :?
[/URL]