尝试在数据库中存储数据时出现以下错误。
这是实体类:
@Entity
@Table(name="utilisateur")
public class Utilisateur {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int id_utilisateur;
@NotEmpty @Email
private String email;
@NotEmpty @JsonIgnore
private String password;
private String role;
...
}
我当然放了吸气剂和塞子剂。
这是控制器:
public class UserController {
@Autowired
UserRepository userRepository;
@PostMapping(value = "/add")
public Utilisateur addUser(@Valid @RequestBody UserRequest userRequest)
throws RequestValidationException {
Utilisateur utilisateur=new Utilisateur();
utilisateur.setEmail(userRequest.getEmail());
utilisateur.setPassword(userRequest.getPassword());
utilisateur.setRole(userRequest.getRole());
Utilisateur userAdded = userRepository.save(utilisateur);
return userAdded;
}
}
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
存储库
@Repository
public interface UserRepository extends CrudRepository<Utilisateur,
Integer> {
}
当我尝试存储数据时,出现以下Hibernate错误:error performing isolated work; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: error performing isolated work
答案 0 :(得分:0)
使用您的类,以下代码块可以正常工作。
Utilisateur utilisateur=new Utilisateur();
utilisateur.setEmail("foo@bar.com");
utilisateur.setPassword("foobar");
Utilisateur userAdded = userRepository.save(utilisateur);
现在您提到ConstraintViolationException [null],很可能您在userRequest
对象方面遇到了麻烦。您应该在控制台日志中查找约束违例的列表。您可以查看违反了哪些约束(interpolatedMessage
)和它们属于哪些变量(propertyPath
)。
List of constraint violations:[
ConstraintViolationImpl{interpolatedMessage='must not be empty', propertyPath=email, rootBeanClass=class com.ecommerce.Utilisateur, messageTemplate='{javax.validation.constraints.NotEmpty.message}'}
ConstraintViolationImpl{interpolatedMessage='must not be empty', propertyPath=password, rootBeanClass=class com.ecommerce.Utilisateur, messageTemplate='{javax.validation.constraints.NotEmpty.message}'}
]