Пример #1
0
 @Override
 @Transactional(readOnly = false, rollbackFor = Exception.class)
 public void saveOrUpdate(LevelForUser levelForUser)
     throws SeqNumAlreadyExistException, MinPointLimitCannotMattchSeqNumException {
   List<LevelForUser> lfus = ht.loadAll(LevelForUser.class);
   for (Iterator iterator = lfus.iterator(); iterator.hasNext(); ) {
     LevelForUser lfu = (LevelForUser) iterator.next();
     if (lfu.getId().equals(levelForUser.getId())) {
       // 如果是修改,则需要先移除相同id的元素,然后添加修改后的
       iterator.remove();
     }
   }
   if (lfus.size() > 0) {
     lfus.add(levelForUser);
     // 根据序号升序排序
     Collections.sort(
         lfus,
         new Comparator<LevelForUser>() {
           @Override
           public int compare(LevelForUser o1, LevelForUser o2) {
             return o1.getSeqNum() - o2.getSeqNum();
           }
         });
     // 遍历,判断
     for (int i = 0; i <= lfus.size() - 2; i++) {
       LevelForUser currentLfu = lfus.get(i);
       LevelForUser nextLfu = lfus.get(i + 1);
       // 序号不能为空,且序号不能与之前已有的序号相同
       if (currentLfu.getSeqNum() == nextLfu.getSeqNum()) {
         throw new SeqNumAlreadyExistException();
       }
       // 等级积分下线,与等级序号排序是否相同
       if (currentLfu.getMinPointLimit() >= nextLfu.getMinPointLimit()) {
         throw new MinPointLimitCannotMattchSeqNumException();
       }
     }
   }
   ht.saveOrUpdate(levelForUser);
 }
 @Transactional(readOnly = false)
 public void clearStats() {
   hibernateTemplate.deleteAll(hibernateTemplate.loadAll(Stat.class));
 }
Пример #3
0
 /** {@inheritDoc} */
 @SuppressWarnings("unchecked")
 public List<T> getAll() {
   return hibernateTemplate.loadAll(this.persistentClass);
 }
Пример #4
0
 @Override
 public List<Loan> findAllLoan() {
   return template.loadAll(Loan.class);
 }
Пример #5
0
 @Override
 public List<Naryad> findAll() {
     return ht.loadAll(Naryad.class);
 }