Imagine a seguinte situação: Eu tenho uma api rest desenvolvida conforme o curso, com spring. Essa api tem o model Produto:
public class Produto {
private Long id;
private String descricao;
}
Na api é possível apenas para usuários autenticados fazer o get, post, put, e delete.
só que essa api vai ser usada por duas ou mais empresas diferentes que não tem vinculo nenhum entre si. e uma não poderá acessar os produtos cadastrados pelas outras e vice e versa.
A minha duvida é: O spring tem alguma ferramenta para lidar essa situação ou eu teria que programar manualmente colocando o atributo empresa no produto, e quando o usuário for fazer o get por exemplo eu pegaria a empresa que esse usuário pertence e faria um findByEmpresa no ProdutoRepository ao inves de um findAll.
EDIT: Eu pesquisei muito na internet e achei isso: https://www.baeldung.com/hibernate-5-multitenancy, mas não entendi como aplicar no projeto do curso e nem como ele trabalha tipo ele teria que identificar o usuário a quem pertence o token e fazer a consultas ao banco de dados certo, alguém pode me explicar?