Salve família!
Pessoas, to com uma dúvida osso duro de ser sanada.
Pelo o que eu aprendi se colocarmos a anotação @Entity do javax.persistence na classe isso indica que a mesma é uma tabela. Pelo que eu entendi ela seria mapeada automaticamente, sem a necessidade de mapea-la no hibernate.cfg.xml. Mas na prática não está acontecendo! Segue abaixo alguns trechos de códigos:
OBS: É um projeto WEB e uso JSF com hibernate 4.
A classe abaixo, é chamada por um filtro que pega a session que essa classe abaixo abre e pendura no request, para que os managedBeans utilize.
public class HibernateUtil {
protected static SessionFactory factory;
protected static Session session;
protected static Configuration cfg = new Configuration().configure();
public HibernateUtil() {
cfg.addAnnotatedClass(AlunoTb.class);
cfg.addAnnotatedClass(AlunoFotosTb.class);
cfg.addAnnotatedClass(UsuarioTb.class);
cfg.addAnnotatedClass(AutorizacaoTb.class);
cfg.addAnnotatedClass(AlunoAnotacoesTb.class);
cfg.addAnnotatedClass(IdentificacaoAlunoTb.class);
}
@SuppressWarnings("deprecation") //Sei que o buildSessionFactory está depreciado, mas não posso me dar ao luxo de aprender a outra forma. Por enquanto
public static Session getSession(){
factory = cfg.buildSessionFactory();
session = factory.openSession();
return session;
}
}
Hibernate CFG:
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.username">postgres</property>
<property name="hibernate.connection.password">123</property>
<property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/uniSocial</property>
<property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
<property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
<property name="hibernate.current_session_context_class">thread</property>
<property name="hibernate.show_sql">false</property>
<property name="hibernate.format_sql">true</property>
<property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.max_size">20</property>
<property name="hibernate.c3p0.timeout">30</property>
<property name="hibernate.c3p0.idle_test_period">20</property>
<property name="hibernate.c3p0.max_statements">3</property>
<mapping class="br.com.van.hibernate.tabelas.AlunoTb"/>
<mapping class="br.com.van.hibernate.tabelas.AlunoFotosTb"/>
<mapping class="br.com.van.hibernate.tabelas.AlunoAnotacoesTb"/>
<mapping class="br.com.van.hibernate.tabelas.IdentificacaoAlunoTb"/>
<mapping class="br.com.van.springSecurity.model.UsuarioTb"/>
<mapping class="br.com.van.springSecurity.model.AutorizacaoTb"/>
</session-factory>
</hibernate-configuration>
Uma das tabelas:
package br.com.van.hibernate.tabelas;
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class IdentificacaoAlunoTb implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long idIdentificacaoAluno;
private Long raIdentificacaoAluno;
private String primeiroNomeIdentificacaoAluno;
private String ultimoNomeIdentificacaoAluno;
private Integer idadeIdentificacaoAluno;
private String sexoIdentificacaoAluno;
private String senhaCentralAlunoIdentificacaoAluno;
//getters e setter
public void setIdIdentificacaoAluno(Long id) {
this.idIdentificacaoAluno = id;
}
public Long getIdIdentificacaoAluno() {
return this.idIdentificacaoAluno;
}
public void setRaIdentificacaoAluno(Long ra) {
this.raIdentificacaoAluno = ra;
}
public Long getRaIdentificacaoAluno() {
return this.raIdentificacaoAluno;
}
public void setPrimeiroNomeIdentificacaoAluno(String primeiroNome) {
this.primeiroNomeIdentificacaoAluno = primeiroNome;
}
public String getPrimeiroNomeIdentificacaoAluno() {
return this.primeiroNomeIdentificacaoAluno;
}
public void setUltimoNomeIdentificacaoAluno(String ultimoNome) {
this.ultimoNomeIdentificacaoAluno = ultimoNome;
}
public String getUltimoNomeIdentificacaoAluno() {
return this.ultimoNomeIdentificacaoAluno;
}
public void setIdadeIdentificacaoAluno(Integer idade) {
this.idadeIdentificacaoAluno = idade;
}
public Integer getIdadeIdentificacaoAluno() {
return this.idadeIdentificacaoAluno;
}
public void setSexoIdentificacaoAluno(String sexo) {
this.sexoIdentificacaoAluno = sexo;
}
public String getSexoIdentificacaoAluno() {
return this.sexoIdentificacaoAluno;
}
public void setSenhaCentralAlunoIdentificacaoAluno(String senhaCentralAluno) {
this.senhaCentralAlunoIdentificacaoAluno = senhaCentralAluno;
}
public String getSenhaCentralAlunoIdentificacaoAluno() {
return this.senhaCentralAlunoIdentificacaoAluno;
}
}
Qualquer dica ou solução fornecida será bem vinda! lol