@Entity
@Table(name = "tb_ato_natureza", catalog = "db_dnaso", schema = "db_notas")
@SequenceGenerator(sequenceName="tb_ato_natureza_cd_ato_natureze_seq",allocationSize=1, initialValue=0, name = "tb_ato_natureza_cd_ato_natureze_seq")
@NamedQueries({@NamedQuery(name = "TbAtoNatureza.findByNmDivisor", query = "SELECT t FROM TbAtoNatureza t WHERE t.nmDivisor = :nmDivisor")})
public class TbAtoNatureza implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY, generator="tb_ato_natureza_cd_ato_natureze_seq")
@Basic(optional = false)
@Column(name = "cd_ato_natureze", nullable = false)
private Integer cdAtoNatureze;
@Column(name = "nm_tabela_custa", length = 250)
private String nmTabelaCusta;
@Column(name = "nm_divisor", length = 250)
private String nmDivisor;
@JoinColumn(name = "cd_ato", referencedColumnName = "cd_ato")
@ManyToOne
private TbAto cdAto;
@JoinColumn(name = "cd_natureza", referencedColumnName = "cd_natureza" )
@ManyToOne(cascade=CascadeType.ALL)
private TbNatureza cdNatureza;
}
@Entity
@Table(name = "tb_ato", catalog = "db_dnaso", schema = "db_notas")
@NamedQueries({@NamedQuery(name = "TbAto.findAll", query = "SELECT t FROM TbAto t"), @NamedQuery(name = "TbAto.findByCdAto", query = "SELECT t FROM TbAto t WHERE t.cdAto = :cdAto"), @NamedQuery(name = "TbAto.findByNmAto", query = "SELECT t FROM TbAto t WHERE t.nmAto = :nmAto"), @NamedQuery(name = "TbAto.findByNmTabelaCusta", query = "SELECT t FROM TbAto t WHERE t.nmTabelaCusta = :nmTabelaCusta"), @NamedQuery(name = "TbAto.findByNmDivisor", query = "SELECT t FROM TbAto t WHERE t.nmDivisor = :nmDivisor")})
public class TbAto implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@Column(name = "cd_ato", nullable = false)
private Integer cdAto;
@Basic(optional = false)
@Column(name = "nm_ato", nullable = false, length = 250)
private String nmAto;
@Column(name = "nm_tabela_custa", length = 250)
private String nmTabelaCusta;
@Column(name = "nm_divisor", length = 250)
private String nmDivisor;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "tbAto")
private Collection<TbAtoSelo> tbAtoSeloCollection;
@OneToMany(mappedBy = "cdAto")
private Collection<TbAtoIndicador> tbAtoIndicadorCollection;
@OneToMany(mappedBy = "cdAto")
private Collection<TbAtoDocumento> tbAtoDocumentoCollection;
@OneToMany(mappedBy = "cdAto")
private Collection<TbAtoNatureza> tbAtoNaturezaCollection;
}
@Entity
@Table(name = "tb_natureza", schema="db_notas")
@SequenceGenerator(sequenceName="tb_natureza_cd_natureza_seq",allocationSize=1, initialValue=0, name = "tb_natureza_cd_natureza_seq")
@NamedQueries({@NamedQuery(name = "TbNatureza.findByNrDiasPrevisto", query = "SELECT t FROM TbNatureza t WHERE t.nrDiasPrevisto = :nrDiasPrevisto")})
public class TbNatureza implements Serializable {
@Transient
private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY, generator="tb_natureza_cd_natureza_seq")
@Column(name = "cd_natureza", nullable = false)
private Integer cdNatureza;
@Column(name = "nm_natureza", nullable = false)
private String nmNatureza;
@Column(name = "ds_natureza")
private String dsNatureza;
@Column(name = "nr_dias_previsto")
private Integer nrDiasPrevisto;
@Column(name = "nm_tabela_custa")
private String nmTabelaCusta;
@Column(name = "nm_modelo_documento")
private String nmModeloDocumento;
@Column(name = "nm_divisor")
private String nmDivisor;
@Column(name = "ic_revoga_documento")
private Boolean icRevogaDocumento;
@Column(name = "ic_retifica_documento")
private Boolean icRetificaDocumento;
@Column(name = "ic_central_cep")
private Boolean icCentralCep;
@Column(name = "ic_central_cesdi")
private Boolean icCentralCesdi;
@Column(name = "ic_informa_doi")
private Boolean icInformaDoi;
@Column(name = "ds_tipo_transacao_doi")
private String dsTipoTransacaoDoi;
@Column(name = "cd_pendencia_caixa")
private Integer cdPendenciaCaixa;
@JoinTable(name = "tb_titulo_natureza", schema="db_notas", joinColumns = {@JoinColumn(name = "cd_natureza", referencedColumnName = "cd_natureza")}, inverseJoinColumns = {@JoinColumn(name = "cd_titulo", referencedColumnName = "cd_titulo")})
@ManyToMany
private Collection<TbTitulo> cdTituloCollection;
@JoinTable(name = "tb_exigencia_natureza", schema="db_notas", joinColumns = {@JoinColumn(name = "cd_natureza", referencedColumnName = "cd_natureza")}, inverseJoinColumns = {@JoinColumn(name = "cd_exigencia", referencedColumnName = "cd_exigencia")})
@ManyToMany
private Collection<TbExigencia> cdExigenciaCollection;
@OneToMany(mappedBy = "cdNatureza")
private Collection<TbIndicadorDocumento> tbIndicadorDocumentoCollection;
@OneToMany(mappedBy = "cdNatureza")
private Collection<TbDocumento> tbDocumentoCollection;
@OneToMany(mappedBy = "cdNatureza", cascade=CascadeType.ALL)
private Collection<TbAtoNatureza> tbAtoNaturezaCollection;
}
public TbNatureza salvarEditarNatureza(TbNatureza tbNaturezaBean) throws Exception {
TbNatureza novaNatureza = new TbNatureza();
if(tbNaturezaBean.getCdNatureza() == null){
propBean.copyProperties(novaNatureza, tbNaturezaBean);
naturezaDAO.persist(novaNatureza);
}else{
naturezaDAO.update(tbNaturezaBean);
propBean.copyProperties(novaNatureza, tbNaturezaBean);
}
return novaNatureza;
}
porem estou com o seguinte problema: se eu fizer o seguinte:
tbNaturezaBean.setTbAtoNaturezaCollection(AtoNaturezaList);
se por acaso nessa lista eu ADICIONAR um atoNatureza novo ele salva no banco direito. porem se eu REMOVER um ato ele nao remove do banco, alguem sabe como posso arrumar isso? pq senao eu tenho q remover o atoNatureza na mao e depois salvar o resto..
alguem pode me ajudar??
valeu