Meu problema é o seguinte. Preciso fazer o mapeamento de Chave Composta usando Annotations da JPA2.
UNIDADE_ESCOLAR tem [id], codigo, endereco
TIPO_USUARIO tem [id], nome
USUARIO tem [id], login, nome, [fk_tipo_usuario_id]
No BD pode ter na tabela TIPO_USUARIO o mesmo tipo de usuario repetido, mas não para a mesma Unidade Escolar, então fica:
TIPO_USUARIO, [id, unidade_escolar], nome
Então Anotei assim
@Entity
public class TipoUsuario {
@EmbeddedId
private TipoUsuarioId tipoUsuarioId;
@ManyToOne
@JoinColumn(name="unidade_escolar_id")
private UnidadeEscolar unidadeEscolar;
...
}
@Embeddable
public class TipoUsuarioId {
@Id
@GeneretedValue
private Long id;
@Id
private Long unidadeEscolarId;
...
}
Como faço a Anotação da classe Usuario para ter o relacionamento com a TipoUsuario?
Fiz assim mas, óbvio que, não funciona.
@Entity
public classe Usuario {
@Id
@GeneretedValue
private Long id;
@OneToOne
@JoinColumn(name="tipo_usuario_id")
private TipoUsuario tipoUsuario;
...
}
Agradeço a ajuda de todos.
Abraço e sucesso.