Pessoal estou com um problema de relacionamento entre duas tabelas via Hibernate. Tenho a tabela Romaneio e Produto Onde posso ter vários romaneios para 1 produtor.
Segue abaixo o relacionamento.
@SuppressWarnings("serial")
@Entity
@Table(uniqueConstraints = {
@UniqueConstraint (columnNames = {"numeroDoRomaneio", "almoxarifado_codigo"})
}
)
public class Romaneio extends GenericDomain{
@ManyToOne
@JoinColumn(nullable = false)
private Safra safra;
@ManyToOne
@JoinColumn(nullable = false)
private Fazenda fazenda;
@Temporal(TemporalType.DATE)
@Column(nullable=false)
private Date dataEmissao;
@Column(length = 50, nullable = false)
private String numeroDoRomaneio;
@ManyToOne
@JoinColumn(nullable=true)
private Talhao talhao;
@ManyToOne
@JoinColumn(nullable = true)
private ContratoDeEntregaDeProducao contratoDeEntregaDeProducao;
@ManyToOne
@JoinColumn(nullable = false)
private CaminhaoParaTransporte caminhaoParaTransporte;
@ManyToOne
@JoinColumn(nullable = false)
private Almoxarifado almoxarifado;
@ManyToOne
@JoinColumn(nullable=true)
private Produtor produtor;
@Column(precision=6, scale=3)
private double pesoBruto = 0.00;
@Digits(integer = 6, fraction = 3)
private double descontoUmidade = 0.00;
@Digits(integer = 6, fraction = 3)
private double descontoImpureza = 0.00;
@Digits(integer = 11, fraction = 3)
private double pesoLiquidoEmUnidadeBasica = 0.00;
@Digits(integer = 11, fraction = 3)
private double pesoLiquido;
@ManyToOne
@JoinColumn(nullable=false)
private Produto produto;
private String observacao;
e Produtor.:
@SuppressWarnings("serial")
@Entity
@Table(
uniqueConstraints = {
@UniqueConstraint(columnNames = {"nome"} )
}
)
public class Produtor extends GenericDomain{
@Column(length = 60, nullable = false)
private String nome;
@Column(length=14)
private String cpf;
@Column(length = 14)
private String rg;
@OneToMany(mappedBy="produtor", fetch = FetchType.LAZY)
private List<Romaneio> romaneios;
Ao abrir a tela de romaneios o sistema faz uma pesquisa de todos os romaneios, carregando um dataTable. O problema é que ao fazer esta pesquisa esta me retornando o erro abaixo.
Caused by: org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [br.com.tcagro.domain.Produtor#0]
Detalhe, eu não tenho em minha tabela o Produto 0.
Só para constar já tive este problema em outro relacionamento e para resolver criei métodos Lazy para carregar minha DataTable, mas queria entender porque esta acontecendo isso e como resolveria sem modificar para o LazyLoading.