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