Kürzlich habe ich gelernt, es gibt @Where
Annotation, und ich kann es erfolgreich auf meiner @Entity
Klasse verwenden. Sieht so aus, als ob dieser Filter auf jede Abfrage angewendet wird. Und ich stellte das Problem, wenn ich versuche, diese weich gelöschte Entität als Element der Sammlung in einem anderen @Entity zu bekommen.So filtern Sie gelöschte Elemente in der findAll() -Methode von Spring Data?
kann nicht SoftDeletedEntity mit id xx (durch Referenzkette finden ...
Jetzt will ich versuchen, diese @Where nur auf SpringData findAll()
Methode des Repo-Filter zu verwenden. Ich habe versucht, die folgenden, aber es hat nicht funktioniert.
public interface MyEntity extends JpaRepository<MyEntity, Long> {
@Where(clause = "is_deleted = 'false'")
@Override
List<MyEntity> findAll();
}
ist es möglich, überhaupt
?
Ich glaube nicht. Um Querydsl zu verwenden, benutze es in der Namensmethode direkt, etwa so: findAllByIsDeletedFalse() -> Siehe: http://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query -methods.named-queries '@Where (clause =" is_deleted = 'false' ")' ist dasselbe wie 'findAllByIdIsDeletedFalse()' – Pau
'List findByIsDeletedFalse();' sollte in Spring Data JPA funktionieren –