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");
}
しかしログは、レコードがデータベースに存在していても起動されません。