Ответ 1
Попробуйте Restrictions.ne("position.id", 1L)
Я пытаюсь отфильтровать набор результатов с помощью внешнего ключа:
createCriteria(Person.class).add(Restrictions.ne("position", 1L)).list()
Но получение этого исключения: org.hibernate.PropertyAccessException: could not get a field value by reflection getter of com.example.model.Position.id
Вот необходимые сущности JPA (обрезанные до необходимых полей):
@Entity
@Table
public class Person {
@Id
@GeneratedValue
private Long id;
@ManyToOne
@JoinColumn(nullable = false)
@ForeignKey(name = "person_position_fkey")
private Position position;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Position getPosition() {
return position;
}
public void setPosition(Position position) {
this.position = position;
}
}
@Entity
@Table
public class Position {
@Id
@GeneratedValue
private Long id;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}
Попробуйте Restrictions.ne("position.id", 1L)