Olá,
uma duvida tenho um projeto que é criado um jar e é adicionado
a qualquer projeto para se conectar ao banco e fazer CRUD em um objeto(tabela).
Mas gostaria de converter para Spring mais estou em duvida como fazer em relação
ao exemplo abaixo onde vou fazer um insert no objeto Usuario mas antes
tenho que pegar Session (hibernate) e passar para os outros Facade (Session)que preciso
para pegue Filial e Nivel (tem que ser a mesma Session senão da erro two Session).
Pelo Spring daria pra fazer e diminuir esse codigo pra fazer um persist ???
Se alguém puder me ajudar agradeceria …me enviando url ou link
abs
lic static void main(String[] args) {
//Pegar Session Hibernate
Session session = HibernateUtil.openSession();
tx = session.beginTransaction();
try{
NivelFacade NivelFacade = new NivelFacade(session);
FilialFacade FilialFacade = new FilialFacade(session);
UsuarioFacade UsuarioFacade = new UsuarioFacade(session);
//Instancia o objeto Usuario
Usuario p = new Usuario();
//Ler o nivel
Nivel nivel = NivelFacade.find(Nivel.class, 01L);
p.setNivel(nivel);
//Ler a filial
Filial filial = FilialFacade.find(Filial.class, 900L);
p.setFilial(filial);
// Popula o Objeto Usuario
p.setLogin("pwd999");
p.setSenha("senha nova9");
p.setDtInicial(new Date());
p.setDtFim(new Date());
p.setNomeUsuario("Usuario999");
Long nrcpf = Long.valueOf("1234567890");
p.setCpf(nrcpf);
// Grava o objeto Usuario
UsuarioFacade.persist(p);
tx.commit();
System.out.println("Id = "+p.getId());
}catch(DAOException d){
tx.rollback();
System.out.println("Erro ="+d);
}catch(Exception e){
tx.rollback();
System.out.println("Erro ="+e);
}
}}
import org.apache.log4j.Logger;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
lic class HibernateUtil {
private static final Logger logger = Logger.getLogger(HibernateUtil.class);
private static final SessionFactory sessionFactory;
private static ThreadLocal<Session> sessions = new ThreadLocal<Session>();
static {
sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
}
lic static Session openSession() {
if (sessions.get() != null) {
logger.error("Essa sessão está ainda aberta !! ");
// grave, alguem nao fechou uma sessao ja aberta!
}
sessions.set(sessionFactory.openSession());
return sessions.get();
}
lic static void closeCurrentSession() {
sessions.get().close();
sessions.set(null);
}
lic static Session currentSession() {
return sessions.get();
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}