Ah, sim… Entendi. Vou ver.
Não há porque pedir desculpas. ![:wink: :wink:](https://www.guj.com.br/images/emoji/twitter/wink.png?v=9)
Cara, as queries são as seguintes:
Hibernate:
insert
into
NotaFiscal
(DATA_EMISSAO, INSS, ISS, MEDICAO, NUMERO, obra_id, PROCESSO_DE_FATURA, VALOR, notafiscal_id)
values
(?, ?, ?, ?, ?, ?, ?, ?, ?)
Hibernate:
insert
into
EmpenhoNotaFiscal //nota fiscal tem uma ligação * to * com empenho
(valor, empenho_id, notafiscal_id)
values
(?, ?, ?)
Hibernate:
insert
into
EmpenhoNotaFiscal
(valor, empenho_id, notafiscal_id)
values
(?, ?, ?)
Hibernate:
select
empenhonot_.empenho_id,
empenhonot_.notafiscal_id,
empenhonot_.valor as valor13_
from
EmpenhoNotaFiscal empenhonot_
where
empenhonot_.empenho_id=?
and empenhonot_.notafiscal_id=?
Hibernate:
update
Empenho
set
DATA=?,
FONTE=?,
NUMERO=?,
obra_id=?,
saldo=?,
valor=?,
valorCancelado=?
where
empenho_id=?
Hibernate:
select
empenhonot_.empenho_id,
empenhonot_.notafiscal_id,
empenhonot_.valor as valor13_
from
EmpenhoNotaFiscal empenhonot_
where
empenhonot_.empenho_id=?
and empenhonot_.notafiscal_id=?
Hibernate:
update
Empenho
set
DATA=?,
FONTE=?,
NUMERO=?,
obra_id=?,
saldo=?,
valor=?,
valorCancelado=?
where
empenho_id=?
Se referem a esse trecho do código:
dao.salvar(entidade);
DAOEmpenho daoEmpenho = new DAOEmpenho();
if (empenhos != null)
for (Empenho e : empenhos)
daoEmpenho.atualizar(e);
O mapeamento das entidades:
@Entity
public class Empenho implements Comparable<Empenho> {
//...
private List<EmpenhoNotaFiscal> ligacoes;
//...
@OneToMany(fetch = FetchType.LAZY, mappedBy = "chave.empenho", cascade = CascadeType.ALL)
public List<EmpenhoNotaFiscal> getLigacoes() {
if (ligacoes == null)
ligacoes = new ArrayList<>();
return Collections.unmodifiableList(ligacoes);
}
}
//###
@Entity
public class NotaFiscal implements Comparable<NotaFiscal> {
//...
private List<EmpenhoNotaFiscal> ligacoes;
//...
@OneToMany(fetch = FetchType.LAZY, mappedBy = "chave.notaFiscal", cascade = CascadeType.ALL)
public List<EmpenhoNotaFiscal> getLigacoes() {
if (ligacoes == null)
ligacoes = new ArrayList<>();
return Collections.unmodifiableList(ligacoes);
}
}
//###
@Entity
@AssociationOverrides({
@AssociationOverride(name = "chave.empenho", joinColumns = @JoinColumn(name = "empenho_id")),
@AssociationOverride(name = "chave.notaFiscal", joinColumns = @JoinColumn(name = "notafiscal_id"))})
public class EmpenhoNotaFiscal implements Serializable {
private static final long serialVersionUID = 1L;
@EmbeddedId
private EmpenhoNotaFiscalPK chave = new EmpenhoNotaFiscalPK();
private BigDecimal valor;
//... getters, setters, equals e hashCode
}
//###
@Embeddable
public class EmpenhoNotaFiscalPK implements Serializable {
private static final long serialVersionUID = -7577249378978451429L;
@ManyToOne(cascade = CascadeType.ALL)
private Empenho empenho;
@ManyToOne(cascade = CascadeType.ALL)
private NotaFiscal notaFiscal;
//...
}