Fala ae Galera,
Tenho o seguinte mapeamento
@Entity
@Table(name = "REGISTRO_NOTA_FISCAL")
public class RegistroNotaFiscalModel implements BaseModel<RegistroNotaFiscalVo> {
/**
*
*/
private static final long serialVersionUID = -5784015894277814959L;
@Id
@TableGenerator(name="ID_REGISTRO_NOTA_FISCAL_PK", pkColumnName="NM_SEQUENCE", pkColumnValue="REGISTRO_NOTA_FISCAL", valueColumnName="NR_CURRENT_KEY", table="SEQUENCE_BLOCK", allocationSize=0, initialValue=1 )
@GeneratedValue( strategy = GenerationType.TABLE, generator = "ID_REGISTRO_NOTA_FISCAL_PK" )
@Column(name="ID_REGISTRO_NOTA_FISCAL_PK", nullable=false)
private Long id;
@Column(name="NO_ARQUIVO_RETORNO")
private String noArquivoRetorno;
@Column(name="DC_PERIODO_REFERENCIA")
private String dcPeriodoReferencia;
@Column(name="DC_PROTOCOLO")
private String dcProtocolo;
@Column(name="DC_OPERADORA_INTERNA")
private String dcOperadoraInterna;
@Column(name="DC_EMPRESA")
private String dcEmpresa;
@Column(name="DC_CNPJ_FORNECEDOR")
private String dcCnpjFornecedor;
@Column(name="DC_OPERADORA_EXTERNA")
private String dcOperadoraExterna;
@Column(name="DC_DATA_EMISSAO")
private String dcDataEmissao;
@Column(name="DC_NUMERO_DOCUMENTO")
private String dcNumeroDocumento;
@Column(name="DC_VALOR_NOTA_FISCAL")
private String dcValorNotaFiscal;
@Column(name="DC_VALOR_ICMS")
private String dcValorIcms;
@Column(name="CD_SITUACAO_NOTA_FISCAL")
private Long cdSituacaoNotaFiscal;
@Column(name="NO_FORNECEDOR")
private String noFornecedor;
@Column(name="DC_FORNECEDOR_SAP")
private String dcFornecedorSAP;
@Column(name="DC_SERIE")
private String dcSerie;
@Column(name="VL_BRUTO_APURADO")
private Double vlBrutoApurado;
@ManyToOne
@JoinColumn(name="ID_REMESSA_FK")
private RemessaNotaFiscalModel remessa;
@Fetch(FetchMode.SELECT)
@OneToMany(fetch=FetchType.EAGER, cascade=CascadeType.ALL ,mappedBy="registroNF")
private List<RegistroNFDetalheModel> detalheNF;
@Fetch(FetchMode.SELECT)
@ManyToMany(fetch=FetchType.EAGER, cascade = { CascadeType.REFRESH })
@JoinTable(name = "REGISTRO_NOTA_FISCAL_CRITICA", joinColumns = { @JoinColumn(name = "ID_REGISTRO_NOTA_FISCAL_FK")},
inverseJoinColumns={@JoinColumn(name = "ID_CRITICA_FK")})
private List<CriticaModel> criticas;
Especificamente no detelheNF faço referencia a outro mapeamento
@Entity
@Table(name = "REGISTRO_NOTA_FISCAL_DETALHE")
public class RegistroNFDetalheModel implements BaseModel<RegistroNFDetalheVo> {
/**
*
*/
private static final long serialVersionUID = -1658436210211971729L;
@Id
@Column(name="ID_REGISTRO_NOTA_FISCAL_FK", nullable=false)
private Integer id;
@ManyToOne
@JoinColumn(name="ID_TIPO_CATEGORIA_FK")
private TipoCategoriaModel categoria;
@ManyToOne
@JoinColumn(name="ID_TIPO_REMUNERACAO_FK")
private TipoRemuneracaoModel remuneracao;
@Column(name="VL_BRUTO_DETRAF")
private Double vlBrutoDetraf;
@Column(name="VL_CONTESTACAO")
private Double vlContestacao;
@Fetch(FetchMode.JOIN)
@ManyToOne (cascade = javax.persistence.CascadeType.ALL, fetch = FetchType.EAGER)
@JoinColumn(name = "ID_REGISTRO_NOTA_FISCAL_FK", insertable=false, updatable=false, nullable=false)
private RegistroNotaFiscalModel registroNF;
Qdo chamo o primeiro mapeamento, ele retorna os filhos, no caso esse detalhe, só que ele deveria retornar duas linhas diferentes do banco e esta retornando a primeira linha duplicida, onde se referencia ao segundo mapeamento.
alguém ja teve esse problema?
obrigado