保存到数据库前 判断数据是否存在的问题 ,同步问题

List user = geUserDao.findByUserNameOrMobilePhone(m.getMobilePhone(),m.getMobilePhone());
if(user==null || user.size()==0){
geUserDao.save(m);
return true;
}else{
return false;

            我想问的是 如果 用户同时 访问这个方法(参数中手机号一样), 一个方法正好走到 保存前 ,一个方法正好在判断。这个时候走到判断的那个,得到的结论是手机号不存在。。最终会造成一个手机号保存了两次

方法使用同步synchronized

http://www.cnblogs.com/adforce/archive/2011/04/20/2021929.html