ciao!
sono alle prese con lo studio di hibernate.
in un progetto di prova, mi sono creato i file con l'aiuto di netbeans (so che non si dovrebbe fare, ma almeno sto capendo tutto il processo).
vi chiedo consiglio sulla struttura delle classi che ho fatto.
prima c'è la classe creata dalla procedura automatica:
codice:
public class LavoriSezioni implements java.io.Serializable {
private Integer lsId;
private String lsNome;
private Short lsOrdine;
private Set lavoris = new HashSet(0);
public LavoriSezioni() {
}
public LavoriSezioni(String lsNome, Short lsOrdine, Set lavoris) {
this.lsNome = lsNome;
this.lsOrdine = lsOrdine;
this.lavoris = lavoris;
}
public Integer getLsId() {
return this.lsId;
}
public void setLsId(Integer lsId) {
this.lsId = lsId;
}
public String getLsNome() {
return this.lsNome;
}
public void setLsNome(String lsNome) {
this.lsNome = lsNome;
}
public Short getLsOrdine() {
return this.lsOrdine;
}
public void setLsOrdine(Short lsOrdine) {
this.lsOrdine = lsOrdine;
}
public Set getLavoris() {
return this.lavoris;
}
public void setLavoris(Set lavoris) {
this.lavoris = lavoris;
}
@Override
public String toString() {
return lsNome;
}
}
che rispecchia la tabella del db (ho anche il file LavoriSezioni.hbm.xml ovviamente).
poi ho creato una classe helper per eseguire le query, e dove istanzio la sessione hibernate:
codice:
public class LavoriSezioniHelper {
Session session = null;
public LavoriSezioniHelper() {
this.session = HibernateUtil.getSessionFactory().getCurrentSession();
}
public List<LavoriSezioni> getLavoriSezioni() {
Transaction tx = session.beginTransaction();
Query q = session.createQuery("from LavoriSezioni");
List<LavoriSezioni> list = (List<LavoriSezioni>) q.list();
return list;
}
}
infine il bean che richiamo nelle pagina:
codice:
@ManagedBean(name = "lsb")
@SessionScoped
public class LavoriSezioniBean {
private DataModel sezioni;
private LavoriSezioniHelper helper;
public LavoriSezioniBean() {
helper = new LavoriSezioniHelper();
}
public DataModel getSezioni() {
if (sezioni == null) {
sezioni = new ListDataModel(helper.getLavoriSezioni());
}
return sezioni;
}
public void recreateModel() {
sezioni = null;
}
}
funziona tutto, ma mi chiedevo se come struttura possa andare oppure ho scritto un pò di scemenze di troppo!!