Problemas com annotations - Design Pattern Strategy

0 respostas
M

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

Criado 26 de setembro de 2010
Respostas 0
Participantes 1