Как обновить postgres набор данных с собственным запросом в java и игнорировать спящий режим - PullRequest
0 голосов
/ 26 марта 2020

Я хочу обновить набор данных в моей базе данных postgres. Для этого я создал собственный запрос:

        javax.persistence.Query query = entityManager
            .createNativeQuery("UPDATE ?1 SET ?2 = ?3 WHERE ?4 = ?5");
    query.setParameter(1, "myschema.books);
    query.setParameter(2, "id_author");
    query.setParameter(3, "27010");
    query.setParameter(4, "id_book");
    query.setParameter(5, "10 OR 34");
    query.executeUpdate();

Я работаю с Hibernate и сущностями, и моя сущность Book имеет значение

@ManyToOne
@JoinColumn(name = "id_author", foreignKey = @ForeignKey(name = "author_fkey"))
@NotFound(action = NotFoundAction.IGNORE)
public Author author;

Так что мне нужно инициализировать новую переменную Author и установить id_author и дать мой запрос "полному" автору? Я просто хочу получить запрос как в postgres например

UPDATE myschema.books SET id_author = 27010 WHERE id_book = 10 OR 34;

Но всегда получаю ошибку после выполнения:

14:26:05.656 [http-nio-9080-exec-8] ERROR org.hibernate.engine.jdbc.spi.SqlExceptionHelper - ERROR: syntax error at or near "$2"

Позиция: 25

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