Eu escrevo o aplicativo usando o hibernate, spring-boot-data-jpa e spring-boot-data-rest.
Minhas classes de entidade não contêm nenhuma anotação e todo mapeamento orm é colocado em vários arquivos hbm.xml.
class MyEntity {
Long id;
String name;
}
interface MyRepository extends JpaRepository<MyEntity, Long> {
}
Hibernate funcionando bem, assim como todos os métodos do JpaRepository como o findOne. O problema que a interface de descanso fornecida pelo JpaRepository diz
"PersistentEntity does not have an identifier property!".
Descobri que adicionar @Id à classe MyEntity resolve o problema. No entanto, prefiro definir o mapeamento orm no arquivo hbm.xml, não usando anotações.
Como posso configurar o JpaRepository "s para considerar arquivos * .hbm.xml?
Respostas:
0 para resposta № 1Eu enfrentei um problema semelhante com o JpaRepository usandoarquivos hbm. O JpaRepository pode aceitar arquivos hbm, se estiverem presentes na pasta de recursos. Na pasta resources, crie uma pasta que diga resources / hbm e mova todo o arquivo hbm para essa pasta. Agora os arquivos hbm serão encontrados pelo JpaRepository e nenhum erro de tipo gerenciado será corrigido.