2011-12-20 84 views
0

我做了username作爲PRIMARY KEY在數據庫中。用相同的用戶名已在數據庫中創建新帳戶導致此錯誤:檢查記錄,如果它存在之前堅持數據庫

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry 'someuser' for key 'PRIMARY' 

什麼是解決這個問題的最好方法是什麼?

我嘗試這樣的做法:

 Query query = session.createQuery("from Account where name= :name"); 
     query.setParameter("name", user.getUsername()); 
     List<Account> result = query.list(); 

     if (!result.isEmpty()) { 
      log.debug("User already exist"); 
     } 

但是登錄即使在記錄數據庫中存在不會被觸發。

回答

1

試試這個

String hql = "from Account where name=?"; 

List <Account> recordList= session.createQuery(hql).setString(0,"xybrek").list(); 

if(recordList!=null && recordList.size>0) 

    { 

     log.debug("User already exist"); 

    } 
相關問題