Galera, tenho um Bean chamado recado.
(Recado)@Entity
public class Recado
{
@Id
@GeneratedValue
private long id;
@Column(name="conteudo")
private String conteudo;
@Column(name="id_remetente")
private long idRemetente;
@Temporal(TemporalType.TIME)
@Column(name="horario_envio")
private Date horarioEnvio;
@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name="id_perfil", nullable=true, updatable=true)
@Cascade(CascadeType.ALL)
private Perfil perfil;
public Recado()
}
É o seguinte. O atributo perfil guarda o id do perfil que recebeu o recado e o idRemetente é o id do perfil que enviou o recado.. como se fosse uma rede social certo ?
beleza, eu consigo mostrar todos os campo da pessoa que enviou recado (id, conteudo, hora de envio) num datalist... soh que eu quero mostrar a imagem do perfil com aquele id ao invez do id..
aqui vai minha view:
<rich:dataList id="listaderecados" var="recado" value="#{recadoMBean.recados}" >
<h:outputText value="#{recado.idRemetente}"/>
<h:outputText value="#{recado.conteudo}"/>
<h:outputText value="#{recado.horarioEnvio}"/>
</rich:dataList>
eu quero jogar a imagem do perfil remetente no lugar do #{recado.idRemetente}
Pensei em tentar colocar o PerfilRemetente da mesma maneira que coloquei o perfil:
@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name="id_perfil", nullable=true, updatable=true)
@Cascade(CascadeType.ALL)
private Perfil perfil;
soh que nao tenho ideia de como mapear, se eu conseguisse ja buscaria o perfilRemetente todo ... mais soh preciso da imagem dele..
Ai vai a classe perfil:
(Perfil)
@Entity
public class Perfil
{
@Id
@GeneratedValue
private long id;
@OneToOne
@JoinColumn(name="id_usuario")
private Usuario usuario;
@Column(name="nome")
private String nome;
@Column(name="sexo")
private String sexo;
@Column(name="relacionamento")
private String relacionamento;
@Temporal(TemporalType.DATE)
private Date nascimento;
@Column(name="cidade")
private String cidade;
@Column(name="estado")
private String estado;
@Column(name="pais")
private String pais;
@Column(name="imagem_path")
private String imagemPath;
@ManyToMany(fetch=FetchType.LAZY)
@JoinTable(name="Amizade", schema="perfil", joinColumns={@JoinColumn(name="id_perfil")}, inverseJoinColumns={@JoinColumn(name="id_amigo")})
private List<Perfil> amigos;
@OneToMany(mappedBy="perfil", fetch=FetchType.LAZY)
@Cascade(CascadeType.ALL)
private List<Recado> recados;
alguem me ajuda ?
valeu galera