Duvida - @org.hibernate.annotations.Where

2 respostas
felipperj86

[color=darkblue] [/color] Boa tarde a todos estou com uma duvida …
Eu defini na minha entidade uma anotação Where…

@javax.persistence.Entity

@javax.persistence.Table ( name = TECNOLOGIA_POR_NEGOCIO )

@org.hibernate.annotations.Where(clause = AREA_NEGOCIO IN (BR_METODOS_POTENCIAIS,BR_SISMICA) )

public class TecnologiaPorNegocio implements Entidade {

em uma outra entidade temos o seguinte codigo…

@javax.persistence.ManyToOne

@javax.persistence.JoinColumns ( { @javax.persistence.JoinColumn ( name = COD_TECNOLOGIA ) } )

@org.hibernate.annotations.Where( clause = AREA_NEGOCIO IN (BR_METODOS_POTENCIAIS,BR_SISMICA) )

private TecnologiaPorNegocio	tecnologiaPorNegocio;

só que ao pesquisar Objetos da classe pai ele deveria trazer apenas um objeto tecnologiaPorNegocio devido a anotação where… só que isso não acontece … e estou tomando o seguinte erro :
org.hibernate.HibernateException: More than one row with the given identifier was found: 8

2 Respostas

sergioamim

Camarada sua query esta retornando mais de um resultado neste caso 8 … ai esta o erro ( primeiro pelomenos, pode ter mais :slight_smile:

felipperj86

Amigo… o caso é que existe + de um COD_TECNOLOGIA com AREA_NEGOCIO diferentes de “BR_METODOS_POTENCIAIS” ou “BR_SISMICA” então ele deveria criar o select já com a condição where … e não está acontecendo isso…

Criado 26 de maio de 2010
Ultima resposta 26 de mai. de 2010
Respostas 2
Participantes 2