Używam Spring Security, JPA i CrudRepository. Chciałbym, żeby każdy użytkownik miał dostęp tylko do swoich obiektów.
Tak wygląda użytkownik:
public class UserEntity {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
}
Mój plan: do każdej encji dodać informację, kto jest jej właścicielem: userId
, który odnosi się do UserEntity.id
, a potem w repozytoriach tylko:
@PostFilter("filterObject.userId == principal.userId")
- chcę mieć klucz obcy
userId
w każdej encji, żeby zapobiegać sytuacjom typu encja bez właściciela - nie chcę mapować obiektu, bo to by wymagało operowania na obiekcie
UserEntity
, a potrzebuję tylkoUserEntity.id
. Przeszukałem internety i wygląda na to, że mapowanie samego id nie jest możliwe. Jest na to jakiś sposób?