我将项目中的休眠从版本 3 升级到了 4 我试图从数据库中选择一些东西:
Configuration config;
SessionFactory sf;
ServiceRegistry sr;
private static Manager m;
private Manager() {
config = new Configuration();
config.addAnnotatedClass(User.class);
config.addAnnotatedClass(Produs.class);
config.configure("hibernate.cfg.xml");
sr = new ServiceRegistryBuilder().applySettings(config.getProperties())
.buildServiceRegistry();
new SchemaExport(config).create(true, true);
sf = config.buildSessionFactory(sr);
}
public void getProducts(){
Session s = sf.getCurrentSession();
s.beginTransaction();
Query q=s.createQuery("from Produs as p WHERE p.numeProdus LIKE :numeP AND p.descriere LIKE :descriereP AND p.categorie LIKE :categorieP");
q.setParameter("numeP", "%"+produs.getNumeProdus()+"%");
q.setParameter("descriereP", "%"+produs.getDescriere()+"%");
q.setParameter("categorieP", "%"+produs.getCategorie()+"%");
List l=q.list();
return l;
}
我在hibernate 3中的“getProducts”函数中做了同样的事情,这很有效。在版本 4 中不再起作用。