JPA + Consulta específica em uma relação em uma Entity

Boa tarde galera, tudo bom?

Eu preciso de uma funcionalidade que eu não sei se existe e não sei se dá para fazer. rsrsrs…

Seguinte, no meu sistema eu tenho um cenário semelhante ao twitter: eu adiciono pessoas como contatos. E outras pessoas me adicionam como contatos.

Ou seja:[code]
@Entity
class Employee {

@ManyToMany
List contacts;

(…)

}[/code] E preciso recuperar o inverso, ou seja, “quem me tem como contato” (seria o quem me segue do twitter). A consulta para recuperar isso dentro de um EmployeeDAO da vida seria: return this.getSession().createQuery("Select e from Employee e left join e.contacts c WHERE c = :contact") .setEntity("contact", employee) .list(); Eu gostaria de saber, se há alguma maneira de anotar alguma lista “readonly” na minha entidade Employee para fazer essa consulta. Algo assim: [code]class Employee {

@ManyToMany
List contacts;

@Transient
@Query(“Select e from Employee e left join e.contacts c WHERE c = this”)
List meTemComoContact;

}[/code] ou assim: [code]class Employee {

@ManyToMany
List contacts;

@Transient
@ManyToMany(mappedBy=“contacts”)
List meTemComoContact;

}[/code] É possível? Existe isso ou algo parecido na JPA/Hibernate?

Ficou muito confuso?

Agradeço antecipadamente e fico no aguardo,

vc quer que a sua lista não seja serializada?

use o modificador transient no seu atributo:

private transient List lista;

Espero ter ajudado

Olá @eliangela, muito obrigado pelo retorno.

Poutz! Acho que não fui claro no meu post! rsrsrs…

Eu tenho a seguinte modelagem: [code]@Entity
class Employee {

@ManyToMany
List contacts;

(…)

} [/code] Essa modelagem represento 2 coisas:

1 - Contacts : quem o Employee adicionou como contato; e
2 - Connections: quem adicionou o Employee como contato.

A lista Contacts do Employee é essa que está mapeada. O q eu quero saber se é possível que a entidade Employee retorne a lista de Connections;

Sera que consegui ser claro ou enrolei mais ainda! oO’

hauhauha!!!

Mesmo assim, muito obrigado pela atenção!

;D