@Component
public class Main {
public static void main(String[] args) {
// TODO code application logic here
ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
Tabela1FACADE tb = (Tabela1FACADE) ac.getBean("tabela1FACADE");
tb.novo("asa", "34");
}
}
@Service
public class testar {
@Autowired
private Tabela1FACADE tabela1FACADE;
public void testa() {
try {
this.tabela1FACADE.novo("Aeeee", "iiiii");
} catch (Exception e) {
e.printStackTrace();
}
}
public Tabela1FACADE getTabela1FACADE() {
return tabela1FACADE;
}
public void setTabela1FACADE(Tabela1FACADE tabela1FACADE) {
this.tabela1FACADE = tabela1FACADE;
}
@Repository("tabela1DAO")
public class Tabela1DAO {
private HibernateTemplate hibernateTemplate;
@Autowired
public void setHibernateTemplate(SessionFactory sessionFactory) {
this.hibernateTemplate = new HibernateTemplate(sessionFactory);
}
public void save(TbTabela1 entity){
this.hibernateTemplate.save(entity);
}
public HibernateTemplate getHibernateTemplate() {
return hibernateTemplate;
}
}
@Service
@Scope("prototype")
public class Tabela1FACADE {
@Autowired
private Tabela1DAO tabela1DAO;
@Transactional(propagation = Propagation.MANDATORY)
public TbTabela1 novo(String nome, String descricao) {
TbTabela1 tabela1 = new TbTabela1();
tabela1.setNmTabela1(nome);
tabela1.setDsTabela1(descricao);
tabela1DAO.save(tabela1);
System.out.println("passou");
return tabela1;
}
public void setTabela1DAO(Tabela1DAO tabela1DAO) {
this.tabela1DAO = tabela1DAO;
}
public Tabela1DAO getTabela1DAO() {
return tabela1DAO;
}
}
Nessa ultima eu coloquei o tipo de Transacao como mandatory.. pelo q eu li mandatory ele necessita de uma transacao ja aberta. senao ele da erro.. agora pergunto eu.. nao teria q dar um erro ali?
pq eu so abro a transacao ali para dar o save, e nao estou recebendo ela de algum outro lugar.
teria q dar erro nao teria?? alguem me ajuda??
valeu
eheheheh coloquei e funcionou uma parte do meu problema