Hibernate 休眠删除不工作
在调试服务器端代码时,我意识到删除行无法工作。我刚刚从insert复制了此代码,并将session.saveORUpdate替换为session.delete。这是删除对象的正确方法吗?我做错了什么 我没有任何例外Hibernate 休眠删除不工作,hibernate,delete-row,Hibernate,Delete Row,在调试服务器端代码时,我意识到删除行无法工作。我刚刚从insert复制了此代码,并将session.saveORUpdate替换为session.delete。这是删除对象的正确方法吗?我做错了什么 我没有任何例外 public void delete(Object dataStore) throws DidNotSaveRequestSomeRandomError { Transaction txD; Session session; session = current
public void delete(Object dataStore) throws DidNotSaveRequestSomeRandomError {
Transaction txD;
Session session;
session = currentSession();
//get first and then fallback to begin.
if (session.getTransaction() != null
&& session.getTransaction().isActive()) {
txD = session.getTransaction();
} else {
txD = session.beginTransaction();
}
try {
session.delete(dataStore);
} catch (MappingException e) {
e.printStackTrace() ;
}
try {
txD.commit();
while (!txD.wasCommitted())
;
} catch (ConstraintViolationException e) {
log.error("Unable to delete data from "
+ dataStore.getClass().toString());
txD.rollback();
throw new DidNotSaveRequestSomeRandomError(dataStore,
feedbackManager);
} catch (TransactionException e) {
log.debug("txD state isActive" + txD.isActive()
+ " txD is participating" + txD.isParticipating());
log.debug(e);
txD.rollback();
} finally {
session.flush();
txD = null;
session.close();
}
}
编辑:
我尝试将session.flush放在session.delete之后,但无效