Query sql para procurar varios Id's em uma tabela

Ola pessoal,

Estou com uma dificuldade para montar a minha query para procurar dentro da minha tabela ProjectCreate. A pesquisa deve ser lançada apos selecionar um Projeto (que tem o status Ativo)
A pesquisa vai pegar o id desse Projeto e devera procurar dentro da tabela ProjectCreate os ids de tarefas, atividades e fases que são ligados a esse Id do Projeto.

O esquema do banco de dados é que ProjectCreate é um mediador então quando crio um Projeto sendo que um Projeto é composto por varias Tarefas, Tarefas são compostas de varias Atividades e Atividades são composta de varias Fases. E quando o usuario cria um projeto, ele podera selecionar as Tarefas que deseja e as atividades que relaciona a Tarefa também.

Bem, aqui esta a classe ProjectCreate para uma melhor visualização

[code]@Entity
@IdClass(ProjectCreateId.class)
@NamedQueries({
@NamedQuery(name = “ProjectCreate.findTAPByIdProjet”,
query = “”) ,
})

public class ProjectCreate implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private static final String FIND_TAP_BY_ID_PROJET = “ProjectCreate.findTAPByIdProject”;

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;

@Id
@ManyToOne
@JoinColumn(name = “id_project”, nullable = false)
private Project project;

@Id
@ManyToOne
@JoinColumn(name = “id_task”, nullable = false)
private Task task;

@Id
@ManyToOne
@JoinColumn(name = “id_activity”, nullable = false)
private Activity activity;

@Id
@ManyToOne
@JoinColumn(name = “id_phase”, nullable = false)
private Phase phase;
//gets and sets

}[/code]

Obrigado pela ajuda

Não entendi o que você quer.
Pode ser mais claro?

Quero buscar todas as id’s de Tarefa, Atividade e Fase que estão ligadas a id do meu projeto, porém essa ligação esta na tabela do meu mediador, o ProjectCreate.

Ficou mais claro?

Primeiro, entendo que Tarefa, Atividade e Fase são atributos de um Projeto e não de um ProjectCreate, logo, acredito que esta modelagem está extremamente errada.
Pense por partes, como diria o Jack…
Qual query você criaria para obter todos os ProjectCreate com base no id de um Project?
Eu faria assim

//Buscando todos os CreateProject cujo id do Project é 1
"FROM CreateProject cp WHERE cp.project.id = 1";

Agora, como você faria para buscar os outros atributos?

[quote=drsmachado]Primeiro, entendo que Tarefa, Atividade e Fase são atributos de um Projeto e não de um ProjectCreate, logo, acredito que esta modelagem está extremamente errada.
Pense por partes, como diria o Jack…
Qual query você criaria para obter todos os ProjectCreate com base no id de um Project?
Eu faria assim

//Buscando todos os CreateProject cujo id do Project é 1
"FROM CreateProject cp WHERE cp.project.id = 1";

Agora, como você faria para buscar os outros atributos?[/quote]

Então o que voce disse é uma possibilidade de modelagem, mas na visão de criação de projeto, perderia a “hierarquia” de que um projeto contém tarefas, tarefas contém atividades e atividades contém fases, entendeu ? Por isso optei de utilizar o mediador. (Posso estar errado, mas essa minha solução é bem convicta na minha visão e obvio que posso mudar de acordo com seus argumentos)

Gostaria de fazer uma query que retornasse todas os id’s de tarefas, atividades e fases de um projeto, mas ja andei pensando aqui, se eu fizer uma query pelo id do projeto para retornar todos os id de ProjectCreate, vou ter uma lista de objetos ProjectCreate com os ids de tarefas, atividades e fases.