Suporte JPA2.0 de tipos de usuário personalizados e cache de segundo nível

Estou tentando decidir se deixo de terHibernate polvilhado todo o usoJPA2.0 e, assim, ser provedor portátil.
1.DoesJPA2.0 suporta tipos de usuário personalizados?
2. Estou prestes a implementarTerracotta como um cache de segundo nível paraHibernate com suas habilidades de agrupamento principalmente em mente. Eu imaginaria, mas eu realmente não sei, queJPA2.0 também define uma especificação para provedores de cache de segundo nível. Se eu estiver certo, fazTerracotta Implementá-lo? (Se alguém pudesse me indicar uma introdução aTerracotta eJPA Eu apreciaria).

Desde já, obrigado,
Ittai