Я хочу обновить набор данных в моей базе данных 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