我正在使用Spring-MVC。我正在使用休眠作爲ORM工具。有一個名爲'NoteOrder'的列。 SO對於任何CRUD操作,數據庫中的數據順序由NoteOrder管理。使用休眠設置排序順序
問題:在任何CRUD操作後,我想重置從1開始的筆記本並遞增,直到該表結束。
如何使用Hibernate查詢來實現這一點。我搜索了類似的東西,找不到任何東西。我張貼以下代碼以供參考。該函數返回一個列表。
@Override
public List<Notes> listNotesBySectionId(int sectionid, Person person) {
int personid = person.getId();
if(session == null) {
session = this.sessionFactory.openSession();
}else {
session = this.sessionFactory.getCurrentSession();
}
Query query = session.createQuery("from Notes as n where n.person1.id=:id and n.sectionid=:sectionid order by n.noteorder");
query.setParameter("id",personid);
query.setParameter("sectionid",sectionid);
List<Notes> notesList = query.list(); // this list has the noteorder by asking notelist.getNoteOrder();
System.out.println("Notes per sectionid per person are" + notesList);
return notesList;
}
您想維護NoteOrder列的備註訂單嗎?在每一個CRUD(沒有讀取,我猜)後你想要重置/更新NoteOrder? – 2014-11-04 19:24:29
未讀取後...抱歉...只有在創建,更新,刪除後。休息你問的是正確的。 – 2014-11-04 19:34:59
當你添加一些注意到它將結束(與最高的NoteOrder)?當你移除Note時,每一個索引較高的Note都應該更新(減1)? – 2014-11-04 19:43:21