Olá pessoal.
Estou com um grande problema e não consigo resolver e não queria perder a flexibilidade do meu projeto. Eu criei uma interface chamada Calculavel. Todos os tipos que são calculáveis, implementam essa interface. E eu estou referenciando ela em uma entidade do Hibernate. Eu criei um UserType e referenciei ela no TypeDef. Pra salvar, foi de boa, porque eu só preciso mandar o BigDecimal que ela contém. Mas pra fazer o get, ele dá erro porque o Hibernate não consegue “setar” o valor na interface, porque ela não tem corpo. O problema está no nullSafeGet e como vem um BigDecimal do banco, eu não sei qual tipo eu posso implementar pro retorno desse método.
Então eu tenho duas perguntas cruciais.
1- Existe a possibilidade de criar UserType de uma Interface, e quando salvar um tipo concreto dessa Interface, o Hibernate trate corretamente?
2- Se caso não exista a possibilidade, se eu mudar a Interface Calculavel para uma classe abstrata, o problema se resolve? (Eu acho bem provável que não)
Eu pesquisei bastante no Google e só achei exemplos de classes concretas. Olhei no livro Hibernate In Action e só vi sobre classe concreta também.
Alguém pode me dar uma luz?
Obrigado.