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";
}
}
}