我有一个将结构化格式的大文件上传到数据库的应用程序。结构是这样的,即保存一个 Data 对象,其中包含 DataRow 对象的集合。
有时这些文件可能会保存相当长的时间,在此保存期间,用户可能会决定取消操作。
我的问题是,除了杀死 JVM 之外,有没有办法停止持久化 Data 对象的过程?欢迎任何想法,包括对持久性技术的更改。
这是我的 DAO 中调用来持久化 Data 对象的方法。
@Override
public Data saveData(Data data) {
Transaction transaction = null;
Session session = HibernateUtil.getSessionFactory().openSession();
Data merged = null;
try{
transaction = session.beginTransaction();
merged = (Data) session.merge(data);
transaction.commit();
} catch (HibernateException e) {
transaction.rollback();
throw e;
} finally {
session.close();
}
return merged;
}