Fórum Pesquisar objetos cadastrados no banco usando hibernate #377844
18/05/2010
0
public class Secretaria {
private List<CadastrarSecretaria> cachedCadSecretarias = null;
private CadSecretariaDAO cad = new CadSecretariaDAO();
private CadastrarSecretaria selectedSecretaria;
public List<CadastrarSecretaria> getCachedCadSecretaria() {
if (cachedCadSecretarias == null) {
cachedCadSecretarias = cad.getCadSecretarias();
}
return cachedCadSecretarias;
}
public String doConfirmaCadSecretaria() {
selectedSecretaria = new CadastrarSecretaria();
return "telaconsulta";
}
public String finishConfirmaCadSecretaria() {
cad.addCadastrarSecretaria(selectedSecretaria);
cachedCadSecretarias = null;
selectedSecretaria = new CadastrarSecretaria();
return "ListCadSecretaria";
}
public CadastrarSecretaria getSelectedSecretaria() {
return selectedSecretaria;
}
public void setSelectedSecretaria(CadastrarSecretaria selectedSecretaria) {
this.selectedSecretaria = selectedSecretaria;
}
}
public class CadSecretariaDAO extends GenericDAO {
private static final long serialVersionUID = 1L;
private Session session;
public CadSecretariaDAO(Session session) {
this.session = session;
}
public CadSecretariaDAO() {
this.session = getSession();
}
public int addCadastrarSecretaria(CadastrarSecretaria cad) {
saveOrUpadatePojo(cad);
return cad.getCodigosecretaria();
}
public void removeCadastrarSecretaria(CadastrarSecretaria cad) {
removePojo(cad);
}
public void upadateCadastrarSecretaria(CadastrarSecretaria cad) {
saveOrUpadatePojo(cad);
}
public CadastrarSecretaria getCadastrarSecretaria(Integer codigosecretaria){
CadastrarSecretaria cad = getPojo(CadastrarSecretaria.class, codigosecretaria);
return cad;
}
public CadastrarSecretaria getCadastrarSecretaria(String nome){
CadastrarSecretaria cad = getPojo(CadastrarSecretaria.class, nome);
return cad;
}
public List<CadastrarSecretaria> getCadSecretarias(){
return getPureList(CadastrarSecretaria.class,"select from CadastrarSecretaria");
}
}
public abstract class GenericDAO {
private static final long serialVersionUID = 1L;
protected Session getSession() {
return HibernateUtil.getInstance().getSession();
}
protected void saveOrUpadatePojo(Serializable pojo) {
Session ses = getSession();
ses.saveOrUpdate(pojo);
ses.beginTransaction().commit();
ses.close();
}
protected <T extends Serializable> T getPojo(Class<T> classToSearch, Serializable key) {
Session ses = getSession();
Serializable toReturn = (Serializable) ses.get(classToSearch, key);
ses.beginTransaction().commit();
ses.close();
return (T) toReturn;
}
protected void removePojo(Serializable pojoToRemote) {
Session ses = getSession();
ses.delete(pojoToRemote);
ses.beginTransaction().commit();
ses.close();
}
protected Serializable getPurePojo(String query, Object... params) {
Session ses = getSession();
Query qr = ses.createQuery(query);
for (int i = 1; i <= params.length; i++) {
qr.setParameter(1, params[i - 1]);
}
Object toReturn = qr.uniqueResult();
ses.beginTransaction().commit();
ses.close();
return (Serializable) toReturn;
}
protected <T extends Serializable> List<T> getPureList(Class<T> classToCast, String query, Object... params) {
Session ses = getSession();
Query qr = ses.createQuery(query);
for (int i = 1; i <= params.length; i++) {
qr.setParameter(1, params[i - 1]);
}
@SuppressWarnings("unchecked")
List<T> toReturn = qr.list();
ses.beginTransaction().commit();
ses.close();
return toReturn;
}
}
Roberto Rodrigues.
Curtir tópico
+ 0Posts
20/05/2010
Gladstone Matos
Gostei + 0
20/05/2010
Roberto Rodrigues.
Gostei + 0
22/05/2010
Dyego Carmo
Voce quer o HQL para isso ?
Fico no aguardo :)
Gostei + 0
22/05/2010
Roberto Rodrigues.
Gostei + 0
24/05/2010
Roberto Rodrigues.
Gostei + 0
25/05/2010
Dyego Carmo
public List getPesquisa(String parametro) {
Query qr = session.createQuery("from minhaentidade me where me.descricao = ?1");
qr.setParameter(1,parametro);
return qr.getResultList();
}
Qual local pra codificar essa consulta (GenericDao ou DAO)?
DAO
Como instanciar elas no ManagerBeans?
Cria o DAO e chama a funcao dele recebendo como resposta a LISTA de resultados encontrados !
Gostei + 0
25/05/2010
Roberto Rodrigues.
Gostei + 0
25/05/2010
Roberto Rodrigues.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)