Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用iReport将列表值和Bean相加_Java_Jpa_Jasper Reports_Ireport - Fatal编程技术网

Java 使用iReport将列表值和Bean相加

Java 使用iReport将列表值和Bean相加,java,jpa,jasper-reports,ireport,Java,Jpa,Jasper Reports,Ireport,嗯,我有以下关系: One Dentist have one or many Historys. 在JPA中看到我班上的和平: public class Dentista extends AbstractBean { @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "dentista", targetEntity = HistoricoCaixaDentista.c

嗯,我有以下关系:

  One Dentist have one or many Historys. 
在JPA中看到我班上的和平:

 public class Dentista extends AbstractBean {

           @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "dentista", targetEntity = HistoricoCaixaDentista.class)
        private List<HistoricoCaixaDentista> historicosCaixa;
我也尝试了以下操作:在iReport中单击“编辑查询”,打开“JavaBean数据源”,键入我的类('br.com.odontonew.bean.Dentista'),单击“读取属性”

在我点击“historicosCaixa”属性两次后,只显示“空”字

编辑1

这是我的牙医历史课和你们的补习班

public class HistoricoCaixaDentista extends HistoricoCaixa {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    public static final String FIND_BY_DENTISTA = "HistoricoCaixaDentista.findByDentista";

    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE)
    @JoinColumn(name = "id_dentista")
    private Dentista dentista;


        public Dentista getDentista() {
            return dentista;
        }


        public void setDentista(Dentista dentista) {
            this.dentista = dentista;
        }


}

public class HistoricoCaixa extends AbstractBean {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    @Column
    private String descricao;

    @Column
    private double valor;

    @Column(name = "data_hora")
    @Temporal(value = TemporalType.TIMESTAMP)
    private Date dataHora;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "id_usuario")
    private Usuario usuario;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "id_forma_pagamento")
    private FormaPagamento formaPagamento;

    @OneToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "id_historico_pagamento")
    private HistoricoPagamento historicoPagamento;

    public String getDescricao() {
    return descricao;
    }

    public void setDescricao(String descricao) {
    this.descricao = descricao;
    }

    public double getValor() {
    return valor;
    }

    public void setValor(double valor) {
    this.valor = valor;
    }

    public Date getDataHora() {
    return dataHora;
    }

    public void setDataHora(Date dataHora) {
    this.dataHora = dataHora;
    }

    public Usuario getUsuario() {
    return usuario;
    }

    public void setUsuario(Usuario usuario) {
    this.usuario = usuario;
    }

    public FormaPagamento getFormaPagamento() {
    return formaPagamento;
    }

    public void setFormaPagamento(FormaPagamento formaPagamento) {
    this.formaPagamento = formaPagamento;
    }

    public HistoricoPagamento getHistoricoPagamento() {
    return historicoPagamento;
    }

    public void setHistoricoPagamento(HistoricoPagamento historicoPagamento) {
    this.historicoPagamento = historicoPagamento;
    }

    public String getColorStyle() {
    if (this.valor > 0) {
        return "background-color:blue";
    } else {
        return "background-color:red";
    }
    }
}

我已经读过这篇文章,我的课程“HistoricalCaixadentista”是公开的。那么field valor呢?我的“HistoricalCaixadentista”是从“HistoricalCaixa”扩展而来的。我用这两节课编辑了我的文章。
public class HistoricoCaixaDentista extends HistoricoCaixa {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    public static final String FIND_BY_DENTISTA = "HistoricoCaixaDentista.findByDentista";

    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE)
    @JoinColumn(name = "id_dentista")
    private Dentista dentista;


        public Dentista getDentista() {
            return dentista;
        }


        public void setDentista(Dentista dentista) {
            this.dentista = dentista;
        }


}

public class HistoricoCaixa extends AbstractBean {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    @Column
    private String descricao;

    @Column
    private double valor;

    @Column(name = "data_hora")
    @Temporal(value = TemporalType.TIMESTAMP)
    private Date dataHora;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "id_usuario")
    private Usuario usuario;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "id_forma_pagamento")
    private FormaPagamento formaPagamento;

    @OneToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "id_historico_pagamento")
    private HistoricoPagamento historicoPagamento;

    public String getDescricao() {
    return descricao;
    }

    public void setDescricao(String descricao) {
    this.descricao = descricao;
    }

    public double getValor() {
    return valor;
    }

    public void setValor(double valor) {
    this.valor = valor;
    }

    public Date getDataHora() {
    return dataHora;
    }

    public void setDataHora(Date dataHora) {
    this.dataHora = dataHora;
    }

    public Usuario getUsuario() {
    return usuario;
    }

    public void setUsuario(Usuario usuario) {
    this.usuario = usuario;
    }

    public FormaPagamento getFormaPagamento() {
    return formaPagamento;
    }

    public void setFormaPagamento(FormaPagamento formaPagamento) {
    this.formaPagamento = formaPagamento;
    }

    public HistoricoPagamento getHistoricoPagamento() {
    return historicoPagamento;
    }

    public void setHistoricoPagamento(HistoricoPagamento historicoPagamento) {
    this.historicoPagamento = historicoPagamento;
    }

    public String getColorStyle() {
    if (this.valor > 0) {
        return "background-color:blue";
    } else {
        return "background-color:red";
    }
    }
}