Я пытаюсь выполнить этот запрос:
StringBuffer sb = new StringBuffer();
sb.append("select p from PointsEntity p " + "where within(p.coordinates,:polygon) = true");
Но у меня есть исключение:
org.hibernate.TransientObjectException: объект ссылается на несохраненный временный экземпляр - сохраните временный экземпляр перед сбросом: com.gisapp.springboot.backend.apirest.models.entity.PolygonEntity
Это PolygonEntity:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "user_id")
private Long userId;
@Column(name = "user_email")
private String userEmail;
@Column(name = "point_name")
private String pointName;
@Column(name = "coordinates")
private Polygon coordinates;
Я прочитал возможное решение здесь , но, наблюдая за объектом, решение уже реализовано в UserEntity, который содержит коллекцию многоугольника:
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "user_id")
private List<PointsEntity> pointsList;
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "user_id")
private List<PolygonEntity> polygonsList;
Почему у меня есть это исключение?