Try this...
public T delete(T t) throws Exception {
try {
t = load(t);
session.delete(t);
session.flush();
} catch (Exception e) {
throw e;
} finally {
session.clear();
}
return t;
}
public T load(T t) {
session.buildLockRequest(LockOptions.NONE).lock(t);
return t;
}