Проблемы параметризованного запроса на обновление HQL

Я пытаюсь обновить свойство объекта, но получаю

java.lang.IllegalArgumentException: node to traverse cannot be null!

Тело метода содержит проблемы:

sessionFactory.getCurrentSession()
            .createQuery("UPDATE Author SET expiredDate = :date where id = :id")
            .setParameter("date", new Date())
            .setParameter("id", id).executeUpdate();

Класс сущности Автор:

@Entity
@Table(name = "authors")
@SequenceGenerator(name = "AUTHORS_SEQ", sequenceName = "AUTHORS_SEQ")
public class Author implements Serializable {

    @Id
    @Column(name = "author_id")
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "AUTHORS_SEQ")
    private Long id;

    @Column(name = "author_name")
    private String name;

    @Column(name = "expired")
    private Date expiredDate;

    @OneToMany(fetch = FetchType.LAZY)
    @JoinTable(name = "NEWS_AUTHORS", joinColumns = {@JoinColumn(name = "AUTHOR_ID")}, inverseJoinColumns = {@JoinColumn(name = "NEWS_ID")})
    private Set<News> newsSet;
//... getters and setters ...

Что не так в моем запросе?

0 ответов

Другие вопросы по тегам