É possível utilizar herança de componentes (@Embedded)?
Ex.:
@Entity
public class Teste{
// ... (id e outros campos)
@Embedded
private ComponenteAbstrato componente;
}
@MappedSuperclass
public abstract class ComponenteAbstrato{
// ... (campos)
}
@Embeddable
public class ComponenteConcreto1 extends ComponenteAbstrato{
// ... (campos)
}
@Embeddable
public class ComponenteConcreto2 extends ComponenteAbstrato{
// ... (campos)
}
Quando eu tento salvar um objeto “Teste”, setando componente como “ComponenteConcreto1” ou “ComponenteConcreto2” é lançado:
org.hibernate.InstantiationException
Cannot instantiate abstract class or interface: ComponenteAbstrato
Alguma sugestão?
Coloquei o código-fonte JavaSE em: baixe o código-fonte aqui Tem 9MB por causa das libs (usando o derby), mas o código é quase tão minúsculo quanto o código acima. Basta executar a class Main p/ ver a exceção…
Qualquer ajuda é bem-vinda!