Olá pessoal,
Sou iniciante em Java, portanto peço ae um pouco da tolerância dos amigos :oops:
É o seguinte, estou tendo problemas com um certo mapeamento no hibernate, para facilitar, vou listar todos os arquivos aqui, em seguida continuo com a dúvida:
public class Eventos {
public Eventos(){
}
private int idEvento = 0;
private String evento = "";
private String dataEvento = "";
public int getIdEvento(){
return this.idEvento;
}
public void setIdEvento(int idEvento){
this.idEvento = idEvento;
}
public String getEvento(){
return this.evento;
}
public void setEvento(String evento){
this.evento = evento;
}
public String getDataEvento(){
return this.dataEvento;
}
public void setDataEvento(String dataEvento){
this.dataEvento = dataEvento;
}
}
public class GerenciadorEventos {
public String adcionarEmailPessoas(int idPessoa, String email){
try {
SessionFactory sf = new Configuration().configure("versao2/hibernate.cfg.xml").buildSessionFactory();
Session s = sf.openSession();
s.beginTransaction();
Pessoas p = (Pessoas) s.load(Pessoas.class, new Integer(idPessoa));
p.getEmail().add(email);
s.getTransaction().commit();
//return "com sucesso";
} catch (Exception e) {
return "Erro "+e.getMessage();
}
return "com sucesso!!";
}
public void adcionarPessoasEventos(int idPessoa, int idEvento){
SessionFactory sf = new Configuration().configure("versao2/hibernate.cfg.xml").buildSessionFactory();
Session s = sf.openSession();
s.beginTransaction();
Pessoas p = (Pessoas) s.load(Pessoas.class, new Integer(idPessoa));
Eventos e = (Eventos) s.load(Eventos.class, new Integer(idEvento));
p.getEvents().add(e);
s.getTransaction().commit();
}
public String salvarEvento(String evento, String data){
try {
SessionFactory sf = new Configuration().configure("versao2/hibernate.cfg.xml").buildSessionFactory();
Session s = sf.openSession();
Transaction tx = s.beginTransaction();
Eventos c = new Eventos();
c.setDataEvento(data);
c.setEvento(evento);
s.saveOrUpdate(c);
tx.commit();
s.close();
return "Evento Incluído";
} catch (Exception x) {
return "erro aqui "+x.getMessage();
}
}
public List listarEventos(){
try {
SessionFactory sf = new Configuration().configure("versao2/hibernate.cfg.xml").buildSessionFactory();
Session s = sf.openSession();
s.beginTransaction();
List lista = s.createQuery("from Eventos").list();
s.getTransaction().commit();
return lista;
} catch (Exception e) {
System.out.println("erro");
}
return null;
}
}
public class Pessoas {
public Pessoas(){
}
private int idPessoa;
private int idade;
private String primeiroNome;
private String ultimoNome;
private Set email = new HashSet();
private Set events = new HashSet();
public Set getEvents(){
return events;
}
public void setEvents(Set events){
this.events = events;
}
public Set getEmail(){
return this.email;
}
public void setEmail(Set email){
this.email = email;
}
public void setIdPessoa(int idPessoa){
this.idPessoa = idPessoa;
}
public int getIdPessoa(){
return this.idPessoa;
}
public void setIdade(int idade){
this.idade = idade;
}
public int getIdade(){
return this.idade;
}
public void setPrimeiroNome(String primeiroNome){
this.primeiroNome = primeiroNome;
}
public String getPrimeiroNome(){
return this.primeiroNome;
}
public void setUltimoNome(String ultimoNome){
this.ultimoNome = ultimoNome;
}
public String getUltimoNome(){
return this.ultimoNome;
}
}
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//HIBERNATE/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="versao2.Eventos" table="eventos">
<id name="idEvento" column="idEvento" type="int" >
<generator class="native" />
</id>
<property name="evento" />
<property name="dataEvento" />
</class>
</hibernate-mapping>
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//HIBERNATE/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="versao2.Pessoas" table="pessoas" >
<id name="idPessoa" column="idPessoa" type="int" >
<generator class="native" />
</id>
<property name="idade" />
<property name="primeiroNome" />
<property name="ultimoNome" />
<set name="events" table="pessoaseventos" >
<key column="idPessoa" />
<many-to-many column="idEvento" class="versao2.Eventos" />
</set>
<set name="email" table="pessoasemails">
<key column="idPessoa" />
<element type="string" name="email" />
</set>
</class>
</hibernate-mapping>
Então, quanto executo:
GerenciadorEventos ge = new GerenciadorEventos();
ge.adcionarPessoasEventos(2,1);
consigo inserir com sucesso o ID de um evento e o ID de uma pessoa na tabela pessoaseventos, porem quando executo:
GerenciadorEventos ge = new GerenciadorEventos();
String b = ge.adcionarEmailPessoas(1,"[email removido]");
out.println(b);
obtenho como resultado um nada animador:
Could not parse mapping document from resource versao2/Pessoas.hbm.xml
Já tentei de tudo, acho que estou cometendo algum erro muito tolo, mais fica ai minha dúvida e desde já meu agradecimento…