Как решить проблему хранения данных с помощью Spring Boot & Hibernate? - PullRequest
0 голосов
/ 01 августа 2020

У меня возникает ошибка ниже, когда я пытаюсь сохранить данные в своей базе данных.

Это класс сущности:

@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;

    ...
}

Конечно, я использую геттеры и сеттеры. 1007 * Это контроллер:

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> {

      }

Когда я пытаюсь сохранить данные, я получаю следующую ошибку гибернации: error performing isolated work; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: error performing isolated work

1 Ответ

0 голосов
/ 02 августа 2020

Используя ваши классы, следующий блок кода работает нормально.

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}'}
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...