【发布时间】:2012-09-12 15:34:04
【问题描述】:
我有一个将结构化格式的大文件上传到数据库的应用程序。结构是这样的,即保存一个 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;
}
【问题讨论】:
-
它没有回答实际问题,但您可以异步进行保存。然后用户不需要知道保存需要多长时间。
标签: java hibernate persistence