JPA-запрос выдает исключение - PullRequest
0 голосов
/ 15 декабря 2010

Я пытаюсь сохранить одну запись в MySQL 5.1 db.Когда я использую метод entity manager.persist () или merge (), он даже не сохраняет запись в БД, а когда я пытаюсь использовать собственный оператор вставки, подобный этому, он выдает исключение

Query query = entityManager.createNativeQuery("insert into Employee(firstName,lastName,phone,email) values(?,?,?,?);");
    query.setParameter(1, employee.getFirstName());
    query.setParameter(2, employee.getLastName());
    query.setParameter(3, employee.getPhone());
    query.setParameter(4, employee.getEmail());

Исключениеиз приведенного выше запроса

org.springframework.orm.jpa.JpaSystemException: org.hibernate.exception.GenericJDBCException: could not execute native bulk manipulation query; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not execute native bulk manipulation query

Пожалуйста, помогите мне !!!!

Спасибо

1 Ответ

3 голосов
/ 15 декабря 2010

Хотя я не могу сразу помочь вам с запросом, потому что вы, скорее всего, пропускаете важную часть трассировки стека, у меня есть решение:

Не использовать INSERT HQL-запросы.Это не способ, которым JPA должен работать.Вместо этого создайте объект new Emplyee(), который должен быть @Entity, и установите его атрибуты, затем entityManager.persist(employee).

Чтобы это работало, вам нужна текущая транзакция.entityManager.getTransaction().being() запустит один, а entityManager.getTransaction().commit() передаст его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...