JPA2.0 Suporte de tipos de usuário personalizados e cache de segundo nível
-
26-09-2019 - |
Pergunta
Estou tentando decidir se devo mudar de ter Hibernate
polvilhado por todo o uso JPA2.0
e, portanto, seja portátil do provedor.
1. proveito JPA2.0
Suportar tipos de usuário personalizados?
2. Estou à beira da implementação Terracotta
como um cache de segundo nível para Hibernate
com suas habilidades de agrupamento principalmente em mente. Eu imagino, mas eu realmente não sei, que JPA2.0
Define também uma especificação para fornecedores de cache de segundo nível. Se eu estiver certo, faz Terracotta
Implementá-lo? (Se alguém pudesse me apontar para começar a começar Terracotta
e JPA
Eu apreciaria).
Desde já, obrigado,
Ittai
Solução
O JPA2.0 suporta tipos de usuário personalizados?
Nada além @Embedded
e @Embeddable
(já no JPA 1.0). Dependendo da complexidade de suas necessidades, eles podem fazer o trabalho).
Eu imagino, mas na verdade não sei, que o JPA2.0 também define uma especificação para provedores de cache de segundo nível.
JPA 2.0 define métodos no EntityManager
Para acessar o cache de segundo nível que é mantido pelo provedor de persistência, um Cacheable
anotação, algumas outras coisas. Mas a maneira de conectar um cache no seu provedor JPA é específico do provedor. Portanto, não, o JPA não define uma especificação para provedores de cache L2. E se você deseja usar o Teracota como o provedor de cache L2 com a implementação do Hibernate como JPA 2.0, observe a documentação de integração do hibernato.
Referências
- Especificação JPA 2.0
- Seção 3.7 "Cache"
- Seção 7.10 "Interface de cache"
- Seção 11.1.7 "Anotação em cache"