После некоторых изменений этот механизм перестал работать в соответствии с задумами. < /P>
Здесь класс, который я хотел бы удалить: < /p>
Код: Выделить всё
@Entity
@Table(name = "X")
@NoArgsConstructor
@Getter
@Setter
@JsonIgnoreProperties(ignoreUnknown = true)
@SQLDelete(sql = "UPDATE X SET status = 'DELETED' WHERE id = ?", check = ResultCheckStyle.COUNT)
@Where(clause = "status != 'DELETED'")
public class X extends BasicEntity {
...
}
< /code>
Выполнение удаления с помощью: < /p>
@Repository
public interface XRepository extends JpaRepository, JpaSpecificationExecutor
< /code>
xRepository.delete(x);Поскольку я добавил это отношение к объекте X:
Код: Выделить всё
@OneToOne(mappedBy = "x")
private Y y;
< /code>
CREATE MATERIALIZED VIEW IF NOT EXISTS Y...
< /code>
@Entity
@Table(name = "Y")
@AllArgsConstructor
@NoArgsConstructor
@Getter
@Setter
public class Y implements Serializable {
@Id
private Long xId;
@OneToOne
@MapsId
@JoinColumn(name = "x_id")
private X x;
}
< /code>
When I perform the delete, the X status attribute is not set to DELETE.
I'm sure that the code that call xRepository.deleteПочему это происходит? Как я могу восстановить правильное поведение?
cheers.
Подробнее здесь: https://stackoverflow.com/questions/796 ... -sqldelete