2011-12-20 87 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"); 

    } 
相关问题