Boa tarde amigos,
Possuo 2 tabelas nota e nota_referencia, na qual a PK de nota é PFK de nota_referencia (a PK tb possui outros atributos).
Ao listar os registros da tabela nota_referencia, recebo o erro dizendo que nenhum registro foi encontrado com a PK repassada.
Acho q estou mapeando alguma coisa de forma errada.
Segue abaixo a mensagem de erro retornada e os meus mapeamentos:
Mensagem de erro:
org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [modelo.Nota#modelo.NotaPK@1bdb58]
at org.hibernate.impl.SessionFactoryImpl$1.handleEntityNotFound(SessionFactoryImpl.java:377)
at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:145)
at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:195)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:103)
at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878)
at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:846)
at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:557)
at org.hibernate.type.EntityType.resolve(EntityType.java:379)
at org.hibernate.type.ComponentType.resolve(ComponentType.java:584)
at org.hibernate.type.ComponentType.nullSafeGet(ComponentType.java:275)
at org.hibernate.loader.Loader.getKeyFromResultSet(Loader.java:1097)
at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:565)
at org.hibernate.loader.Loader.doQuery(Loader.java:701)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
at org.hibernate.loader.Loader.doList(Loader.java:2220)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
at org.hibernate.loader.Loader.list(Loader.java:2099)
at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:94)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1569)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
classe nota:
@Entity
@Table(name = "nota")
public class Nota implements Serializable {
@EmbeddedId
private NotaPK notaPK;
@Column(name="tur", length = 5)
private String turma;
@Column(name="np1", length = 3)
private String notaP1;
@Column(name="np2", length = 3)
private String notaP2;
@Column(name="nm1", length = 3)
private String notaMedia1;
@OneToMany(mappedBy="notaReferenciaPK.nota", fetch = FetchType.LAZY)
@Cascade(CascadeType.ALL)
private List<NotaReferencia> listaNotaReferencia;
//Gets e Sets
}
classe notaPK:
@Embeddable
public class NotaPK implements Serializable {
@ManyToOne
@JoinColumns({
@JoinColumn(name = "mat", referencedColumnName = "mat"),
@JoinColumn(name = "sit", referencedColumnName = "sit"),
@JoinColumn(name = "sec", referencedColumnName = "sec")
})
private Aluno aluno;
@Column(name="gra", length = 1, unique = true, nullable = false)
private String grau;
@Column(name="cso", length = 2, unique = true, nullable = false)
private String curso;
@Column(name="ser", length = 1, unique = true, nullable = false)
private String serie;
@OneToOne
@JoinColumn(name="dis", nullable=false, unique=true)
private Disciplina disciplina;
@Column(name="std", length = 1, unique = true, nullable = false, insertable = true, updatable = true)
private String statusDependencia;
//Métodos getters e setters
}
classe notaReferencia:
@Entity
@Table(name = "nota_ref")
public class NotaReferencia implements Serializable {
@EmbeddedId
private NotaReferenciaPK notaReferenciaPK;
@Column(name="tur", length = 5)
private String turma;
@Column(name="np1", length = 3)
private String notaP1;
@Column(name="np2", length = 3)
private String notaP2;
@Column(name="nm1", length = 3)
private String notaMedia1;
//Gets e sets
}
classe notaReferenciaPK:
@Embeddable
public class NotaReferenciaPK implements Serializable {
@Column(name="ref", length = 3, unique = true, nullable = false)
private String notaRef;
@ManyToOne
@JoinColumns({
@JoinColumn(name = "mat", referencedColumnName = "mat"),
@JoinColumn(name = "sit", referencedColumnName = "sit"),
@JoinColumn(name = "sec", referencedColumnName = "sec"),
@JoinColumn(name = "cso", referencedColumnName = "cso"),
@JoinColumn(name = "dis", referencedColumnName = "dis"),
@JoinColumn(name = "gra", referencedColumnName = "gra"),
@JoinColumn(name = "ser", referencedColumnName = "ser"),
@JoinColumn(name = "std", referencedColumnName = "std")
})
private Nota nota;
//Métodos getters e setters
}
Alguém sabe o que pode estar errado???