dataTable puxando dados do Banco de duas tabelas Inner Join

Bom dia ! Tenho duas tabelas relacionadas como faço para trazer os dados das duas tabelas relacionadas, com uma só tabela eu consigo, mas com duas usando Inner Join eu não sei. Coloquei os dados abaixo, pois tentei fazer mas todos dados aparecem na tabela, menos a coluna relacionada.Por Favor me ajudem.Obrigado

@Entity  
@Table(name = "agendamento")  
public class Agendamento implements Serializable  {  
      
    private static final long serialVersionUID = 1L;  
    @Id  
    @GeneratedValue  
    @Column(name= "ageCodigo")  
    private Long ageCodigo;  
    @Column(name= "ageData")  
    private Date ageData;  
    @Column(name= "ageHora")  
    private String ageHora;    
    @Column(name= "ageCtrol")  
    private String ageCtrol;  
    @Column(name= "ageProcesso")  
    private String ageProcesso;   
      
    @OneToMany(mappedBy="agendamento", fetch= FetchType.LAZY)  
    @Cascade(CascadeType.SAVE_UPDATE)  
    private Collection <Forum> forum;   
      
    @Column(name= "varCodigo")  
    private int varCodigo;  
      
    @Column(name= "ageConfirmacao")  
    private String ageConfirmacao;  
    @Column(name= "ageObsData")  
    private String ageObsData;  
    @Column(name= "opeCodigo")  
    private int opeCodigo;     
    @Column(name= "ageObservacao")  
    private String ageObservacao;  
    @Column(name= "ageQTDReus")  
    private int ageQTDReus;  
    @Column(name= "ageMotCancelamento")  
    private String ageMotCancelamento;  
      
    @Column(name= "cdpCodigoDestino")  
    private int cdpCodigoDestino;   
      
    @Column(name= "ageTipo")  
    private String ageTipo;  
    @Column(name= "cdpNomeOrigem")  
    private String cdpNomeOrigem;      
      
    public String getAgeTipo() {  
        return ageTipo;  
    }  
  
    public void setAgeTipo(String ageTipo) {  
        this.ageTipo = ageTipo;  
    }  
      
    public Long getAgeCodigo() {  
        return ageCodigo;  
    }  
  
    public void setAgeCodigo(Long ageCodigo) {  
        this.ageCodigo = ageCodigo;  
    }  
  
    public Date getAgeData() {  
        return ageData;  
    }  
  
    public void setAgeData(Date ageData) {  
        this.ageData = ageData;  
    }  
  
    public String getAgeHora() {  
        return ageHora;  
    }  
  
    public void setAgeHora(String ageHora) {  
        this.ageHora = ageHora;  
    }      
  
    public String getAgeCtrol() {  
        return ageCtrol;  
    }  
  
    public void setAgeCtrol(String ageCtrol) {  
        this.ageCtrol = ageCtrol;  
    }  
  
    public String getAgeProcesso() {  
        return ageProcesso;  
    }  
  
    public void setAgeProcesso(String ageProcesso) {  
        this.ageProcesso = ageProcesso;  
    }  
  
    public int getVarCodigo() {  
        return varCodigo;  
    }  
  
    public void setVarCodigo(int varCodigo) {  
        this.varCodigo = varCodigo;  
    }  
  
    public String getAgeConfirmacao() {  
        return ageConfirmacao;  
    }  
  
    public void setAgeConfirmacao(String ageConfirmacao) {  
        this.ageConfirmacao = ageConfirmacao;  
    }  
  
    public String getAgeObsData() {  
        return ageObsData;  
    }  
  
    public void setAgeObsData(String ageObsData) {  
        this.ageObsData = ageObsData;  
    }  
  
    public int getOpeCodigo() {  
        return opeCodigo;  
    }  
  
    public void setOpeCodigo(int opeCodigo) {  
        this.opeCodigo = opeCodigo;  
    }  
      
    public String getAgeObservacao() {  
        return ageObservacao;  
    }  
  
    public void setAgeObservacao(String ageObservacao) {  
        this.ageObservacao = ageObservacao;  
    }  
  
    public int getAgeQTDReus() {  
        return ageQTDReus;  
    }  
  
    public void setAgeQTDReus(int ageQTDReus) {  
        this.ageQTDReus = ageQTDReus;  
    }  
  
    public String getAgeMotCancelamento() {  
        return ageMotCancelamento;  
    }  
    public void setAgeMotCancelamento(String ageMotCancelamento) {  
        this.ageMotCancelamento = ageMotCancelamento;  
    }  
  
    public int getCdpCodigoDestino() {  
        return cdpCodigoDestino;  
    }  
  
    public void setCdpCodigoDestino(int CdpCodigoDestino) {  
        this.cdpCodigoDestino = CdpCodigoDestino;  
    }  
  
    public String getCdpNomeOrigem() {  
        return cdpNomeOrigem;  
    }  
  
    public void setCdpNomeOrigem(String cdpNomeOrigem) {  
        this.cdpNomeOrigem = cdpNomeOrigem;  
    }  
  
    public Collection <Forum> getForum() {  
        return forum;  
    }  
  
    public void setForum(Collection <Forum> forum) {  
        this.forum = forum;  
    }      
} 
@Entity  
@Table(name = "forum")  
public class Forum {  
      
@Id  
@GeneratedValue  
@Column(name= "forCodigo")  
private Long forCodigo;  
@Column(name= "forNome")  
private String forNome;  
@Column(name= "forEndereco")  
private String forEndereco;  
@Column(name= "forComplemento")  
private String forComplemento;  
@Column(name= "forBairro")  
private String forBairro;  
@Column(name= "forCidade")  
private String forCidade;  
@Column(name= "forEstado")  
private String forEstado;  
@Column(name= "forCep")  
private String forCep;  
@Column(name= "forTelefone1")  
private String forTelefone1;  
@Column(name= "forTelefone1Ramal")  
private String forTelefone1Ramal;  
@Column(name= "forTelefone2")  
private String forTelefone2;  
@Column(name= "forTelefone2Ramal")  
private String forTelefone2Ramal;  
@Column(name= "forEMail")  
private String forEMail;  
  
@ManyToOne(fetch= FetchType.EAGER)  
@JoinColumn(name="ageCodigo", insertable=true, updatable=true)  
@Fetch(FetchMode.JOIN)  
@Cascade(CascadeType.SAVE_UPDATE)  
private Agendamento agendamento;  
  
      
public Long getForCodigo()  
    {  
    return forCodigo;  
    }  
public void setForCodigo(Long forCodigo)  
    {  
    this.forCodigo = forCodigo;  
    }  
  
public String getForNome()  
    {  
    return forNome;  
    }  
public void setForNome(String forNome)  
    {  
    this.forNome = forNome;  
    }  
  
public String getForEndereco()  
    {  
    return forEndereco;  
    }  
public void setForEndereco(String forEndereco)  
    {  
    this.forEndereco = forEndereco;  
    }  
  
public String getForComplemento()  
    {  
    return forComplemento;  
    }  
public void setForComplemento(String forComplemento)  
    {  
    this.forComplemento = forComplemento;  
    }  
  
public String getForBairro()  
    {  
    return forBairro;  
    }  
  
public void setForBairro(String forBairro)  
    {  
    this.forBairro = forBairro;  
    }  
  
public String getForCidade()  
    {  
    return forCidade;  
    }  
public void setForCidade(String forCidade)  
    {  
    this.forCidade = forCidade;  
    }  
  
public String getForEstado()  
    {  
    return forEstado;  
    }  
  
public void setForEstado(String forEstado)  
    {  
    this.forEstado = forEstado;  
    }  
  
public String getForCep()  
    {  
    return forCep;  
    }  
  
public void setForCep(String forCep)  
    {  
    this.forCep = forCep;  
    }  
  
public String getForTelefone1()  
    {  
    return forTelefone1;  
    }  
  
public void setForTelefone1(String forTelefone1)  
    {  
    this.forTelefone1 = forTelefone1;  
    }  
  
public String getForTel1Ramal()  
    {  
    return forTelefone1Ramal;  
    }  
  
public void setForTel1Ramal(String forTel1Ramal)  
    {  
    this.forTelefone1Ramal = forTel1Ramal;  
    }  
  
  
public String getForTelefone2()  
    {  
    return forTelefone2;  
    }  
  
public void setForTelefone2(String forTelefone2)  
    {  
    this.forTelefone2 = forTelefone2;  
    }  
  
public String getForTel2Ramal()  
    {  
    return forTelefone2Ramal;  
    }  
  
public void setForTel2Ramal(String forTel2Ramal)  
    {  
    this.forTelefone2Ramal = forTel2Ramal;  
    }  
  
public String getForEMail()  
    {  
    return forEMail;  
    }  
  
public void setForEMail(String forEMail)  
    {  
    this.forEMail = forEMail;  
    }  
public Agendamento getAgendamento() {  
    return agendamento;  
}  
public void setAgendamento(Agendamento agendamento) {  
    this.agendamento = agendamento;  
}  
  
} 
<h:dataTable var="age" value="#{agendamentoBean.agendamentos}"  styleClass="tabela" headerClass="cabecalho" rowClasses="ultimo,primeiro"  paginator="true" rows="15">  
                              
<f:facet name="header">    
    Agendamentos     
</f:facet>  
                              
    <p:column >  
        <f:facet name="header">Data</f:facet>  
        <h:outputText value="#{age.ageData}">  
            <f:convertDateTime type="date" pattern="dd/MM/yyyy" />   
        </h:outputText>  
    </p:column>  
                          
    <p:column>      
        <f:facet name="header">Hora</f:facet>                              
        <h:outputText value="#{age.ageHora}"/>  
    </p:column>     
                              
    <p:column>      
        <f:facet name="header">CDP</f:facet>                               
        <h:outputText value="#{age.cdpCodigoDestino}"/>  
    </p:column>  
                              
    <p:column>      
        <f:facet name="header">Fórum</f:facet>                             
        <h:outputText value="#{age.forum.forNome}"/>  
    </p:column>  
                              
    <p:column>      
        <f:facet name="header">Vara</f:facet>                              
        <h:outputText value="#{age.varCodigo}"/>  
    </p:column>  
                              
</h:dataTable> 
private List<Agendamento> agendamentos;	
	private Agendamento agendamento = new Agendamento();
	private String cancelar;
      
    @PostConstruct
    public void preparaAgendamentos() {   
    	List<Agendamento> lista = new AgendamentoDAO().listaAgendamentos(); 
        setAgendamentos(lista);         
    }