Olá experts,
Estou tentando usar o Hibernate 3.5 para persistir as classes de meu programa.
Todas as classes concretas tem tabelas relacionadas no banco, estão mapeadas usando Annotation como Entidades / Entities e o Hibernate as reconhece. Porém meu problem está na minha “classe principal” GeneralUser:
@Entity
@Table(name = “F_AEXA_MEMBERS”)
public class GeneralUser implements Serializable {
/**
*
*/
private static final long serialVersionUID = 4234518752392079435L;
@OneToMany(cascade=CascadeType.ALL,fetch=FetchType.LAZY)
@JoinColumn(name="F_AEXA_MEMBERS_CPF")
private Collection<RoleHomePage> roleHomePage;
//MEU PROBLEMA ESTÁ AQUI!
@OneToMany(cascade=CascadeType.ALL,fetch=FetchType.LAZY)
@JoinColumn(name=“F_AEXA_MEMBERS_CPF”)
private Collection userProfile;
Demais campos e declarações foram omitidas. O que está acontecendo: estou usando o design pattern “Strategy” e a linha acima é um atributo baseado numa interface (IUserProfile) e portanto vou “carregar” com meus objetos baseados em classes concretas (minhas entidades, por exemplo: AEXAFriend, NotFEGEmployee, etc., que implementam essa interface IUserProfile). Mas na hora de executar eu encontro a seguinte mensagem de erro:
Caused by: org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany targeting an unmapped class: applicationLayers.domain.users.GeneralUser.userProfile[applicationLayers.domain.users.IUserProfile]
Ok, creio que a annotation usada não seja a mais correta para a “interface”, porém se eu uso @Transient meu objeto concreto a ser carregado / mapeado não vai ser considerado e aí eu terei problema de inconsistência no banco…
Por favor, alguém sabe o que fazer?
Muito obrigado pela atenção!
Marcelo