[RESOLVIDO] JPA + Hibernate + Problema com select em mappedBy

Boa tarde pessoal,

Gostaria de pedir ajuda para vocês em problema que eu considero que deva ter uma solução simples, mas eu até agora não a achei. O meu problema é o seguinte: tenho uma classe “Projeto” que mantém uma relação de usuários de um sistema que possuem acesso a este projeto. Até aí tudo bem tudo bem, tudo bonito. O meu problema é que tenho a classe “Usuário”, a qual possui um relacionamento com a classe “Projeto”, através de uma coleção marcada com “mappedBy”, conforme abaixo:

public class Projeto {

	@Id
	@GeneratedValue
	private long codigo;

	@OneToMany
	private List<Usuario> usuarios = new ArrayList<Usuario>();

	//Gets e Sets, além de outros atributos

}
public class Usuario {

	@Id
	@GeneratedValue
	private long codigo;

	@OneToMany(mappedBy = "usuarios")
	@Inject(required = false)
	private List<Projeto> proj = new ArrayList<Projeto>();

	//Gets e Sets, além de outros atributos

}

O meu problema é que não consigo realizar uma consulta, através da classe Usuário, que retorne a coleção de projetos. Já tentei fazer a consulta por um determinado usuário e fazer um get da coleção, o que não deu certo. Sei que o problema é básico, para quem entende deve ser “sopa”, mas para mim até o momento tá parecendo grego. Há propósito, a consulta da relação de usuários através de um projeto, ou seja, os usuários que pertencem a determinado projeto está funcionando, por isso acredito que deva estar fazendo algo errado em relação ao mappedBy.

Agradeço a todos que puderem dar uma ajuda.

Inté…

Nao sou especialista nem nada mais se é um relacionamento onetomany nao deveria ser indicado nas duas classes??

[code]public class Projeto {

@Id  
@GeneratedValue  
private long codigo;  

@OneToMany  
private List<Usuario> usuarios = new ArrayList<Usuario>();  

//Gets e Sets, além de outros atributos  

}

public class Usuario {

@Id  
@GeneratedValue  
private long codigo;  

@ManytoOne(mappedBy = "usuarios")  // aki???
@Inject(required = false)  
private List<Projeto> proj = new ArrayList<Projeto>();  

//Gets e Sets, além de outros atributos  [/code]

e nem esta definido o tipo de @Cascade oque pode mudar alguma coisa
intao vc que fazer um relacionamento que um projeto tenha vários funcionários, e que um funcionário so pode estar num projeto ou um manytomany

Meu amigo wilkem
Muito obrigado. Você tinha razão o problema todo estava nos relacionamentos entre as classes, nem tinha percebido que era “@ManyToMany” (um usuário está em muitos projetos e um projeto possui muitos usuários). Só arrumei o relacionamento e durante a consulta fiz um “get” nos projetos e pronto, tava aí.

Mais uma vez obrigado.

Vlw

nem precisar agradecer conhecimento a gente divide , eu tive o mesmo problemas a uns meses atras ehhehe vlw.