<!---->1. <!---->InvalidDataAccessApiUsageException: Write operations <o:p></o:p>
save,add,update,remove开头的方法拥有可写的事务,如果当前有某个方法,如命名为importExcel(),则因没有transaction而没有写权限,这时若方法内有insert,update,delete操作的话,则需要手动设置flush model为Flush.AUTO,如<o:p></o:p>
<!---->1. <!----> session.setFlushMode(FlushMode.AUTO); <o:p></o:p>
<!---->2. <!----> session.save(user); <o:p></o:p>
<!---->3. <!----> session.flush();
private void listAllChildrenIds(Session session, List list, String id) {
String CHILDREN_SQL = "select entity.id from TemplateCategoryEntity entity where entity.parentId=:id";
Query query = session.createQuery(CHILDREN_SQL);
query.setString("id", id);
List children = query.list();
for (int i = 0; children != null && i < children.size(); i++) {
String child = ((String) children.get(i));
log.debug("found children:" + child);
list.add(child);
listAllChildrenIds(session, list, child);
}
}
}
<o:p></o:p>