dovrei avercela fatta:
codice:
public class LavoriHelper {
Session session = null;
SessionFactory factory = null;
public LavoriHelper() {
factory = HibernateUtil.getSessionFactory();
}
private void openSession() {
if (session == null || !session.isOpen()) {
session = factory.openSession();
} else {
session = factory.getCurrentSession();
}
}
public void addLavoro(LavoriSezioni lavoriSezioni, String titolo, String testo, Date data, Integer ordine) {
openSession();
Transaction tx = session.beginTransaction();
Integer lavoroId = null;
Lavori l = new Lavori(lavoriSezioni, titolo, testo, data, ordine);
lavoroId = (Integer) session.save(l);
tx.commit();
}
public List<LavoriSezioni> getLavori() {
openSession();
Transaction tx = session.beginTransaction();
Query q = session.createQuery("from Lavori");
List<LavoriSezioni> list = (List<LavoriSezioni>) q.list();
return list;
}
}
poi nel bean:
codice:
public void addLavoro() {
helper.addLavoro(null, titolo, testo, new Date(), 0);
FacesMessage fMsg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Lavoro inserito", null);
FacesContext fc = FacesContext.getCurrentInstance();
fc.addMessage(null, fMsg);
UIViewRoot uiViewRoot = fc.getViewRoot();
HtmlInputText txtTitolo = (HtmlInputText) uiViewRoot.findComponent("frm_add_lavoro:titolo");
txtTitolo.setValue("");
HtmlInputTextarea txtTesto = (HtmlInputTextarea) uiViewRoot.findComponent("frm_add_lavoro:testo");
txtTesto.setValue("");
// fc.getExternalContext().redirect("");
recreateModel();
}
public void recreateModel() {
lavori = null;
}
così pare funzionare.