1.用到的Session,Query,Transaction来自哪个包别搞错了哦
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
2.用到事务,可以保持数据原子性(预定车票,防止多个线程共同给一个变量赋值,加把锁就行了),还可以回滚。。。
public List<User> getAllUser() {
Session session = HibernateSessionFactory.getSession();
Transaction tx = null;
@SuppressWarnings("rawtypes")
List list = null;
try {
Query query = session.createQuery("from User");// 获取所有ID
tx = session.beginTransaction();
tx.begin();//保持数据原子性,出错了可以回滚,但是呢,资源暂用很多哦
list = query.list();
tx.commit();
} catch (HibernateException e) {
if (tx != null) {
tx.rollback();
}
e.printStackTrace();
} finally {
HibernateSessionFactory.closeSession();
session.close();
}
return list;
}
3.junit单元测试
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
2.用到事务,可以保持数据原子性(预定车票,防止多个线程共同给一个变量赋值,加把锁就行了),还可以回滚。。。
public List<User> getAllUser() {
Session session = HibernateSessionFactory.getSession();
Transaction tx = null;
@SuppressWarnings("rawtypes")
List list = null;
try {
Query query = session.createQuery("from User");// 获取所有ID
tx = session.beginTransaction();
tx.begin();//保持数据原子性,出错了可以回滚,但是呢,资源暂用很多哦
list = query.list();
tx.commit();
} catch (HibernateException e) {
if (tx != null) {
tx.rollback();
}
e.printStackTrace();
} finally {
HibernateSessionFactory.closeSession();
session.close();
}
return list;
}
junit使用时一定要把fail("Not yet implemented");这句话去掉啊,亲!