O assunto não explica bem o que quero, mas o problema eh o seguinte: em uma aplicacao com Struts+Hibernate+PostgreSQL eu tenho as seguintes tabelas:
CREATE TABLE planoensino
(
idplanoensino serial NOT NULL, -- Identificador do plano de ensino.
iddisciplinas int4 NOT NULL, -- Identificador da disiplina a qual se refere o plano de ensino.
iddocentes int4 NOT NULL, -- Identificador do docente que cadastrou o plano de ensino.
ano varchar(4) NOT NULL, -- Ano ao qual se refere o plano de ensino.
objetivos text NOT NULL, -- Objetivos da disciplina.
desctrabalho text NOT NULL, -- Descrição do trabalho a ser realizado.
criavaliacao text NOT NULL, -- Critério de avaliação.
topexame1 varchar(255) NOT NULL, -- Tópicos a serem abordados no Exame 1.
topexame2 varchar(255) NOT NULL, -- Tópicos a serem abordados no Exame 2.
biblio text NOT NULL, -- Bibliografia da disciplina.
CONSTRAINT planoensino_pk PRIMARY KEY (idplanoensino),
CONSTRAINT fk_planoensinoiddisciplina FOREIGN KEY (iddisciplinas)
REFERENCES disciplinas (iddisciplinas) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_planoensinoiddoc FOREIGN KEY (iddocentes)
REFERENCES docentes (iddocentes) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
WITHOUT OIDS;
ALTER TABLE planoensino OWNER TO postgres;
e
CREATE TABLE disciplinas
(
iddisciplinas serial NOT NULL, -- Identificador da disciplina.
iddep int4 NOT NULL, -- Identificador do departamento.
codigodisciplina varchar(7) NOT NULL, -- Código da disciplina.
nome varchar(75) NOT NULL, -- Nome da disciplina.
sigla varchar(7) NOT NULL, -- Sigla pela qual a disciplina é conhecida.
cargahorariat int2 NOT NULL, -- Carga horária da parte teórica.
cargahorariap int2, -- Carga horária da parte laboratorial.
serie int2 NOT NULL, -- Seriação ideal da disciplina.
semanual int2 NOT NULL, -- 1: Semestre 1 / 2: Semestre 2 / 3: Anual
CONSTRAINT disciplinas_pk PRIMARY KEY (iddisciplinas),
CONSTRAINT fk_disciddep FOREIGN KEY (iddep)
REFERENCES departamentos (iddep) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
WITHOUT OIDS;
Dentro de um servlet eu recupero uma lista de planos de ensino e gostaria que esta lista estivesse ordenada pelo nome da disciplina. O problema eh que só consigo colocar um order de iddisciplinas…
Obrigado, mas eu estou usando Hibernate e gostaria de saber se é possível recuperar os dados sem usar diretamente SQL. Em minha classe DAo eu tenho um método que me retorna a colecao. Eu tentei o seguinte código:
Eu ja tinha feito isso (olhem o código da última mensagem enviada). Olhem o erro que eu tenho:
javax.servlet.ServletException: org.hibernate.QueryException: could not resolve property: iddisciplinas.nome of: sw3a.hibernate.Planoensino
Este eh o pojo correspondente a tabela Planoensino que eu mandei.
Outras idéias? Estou fazendo na marra criando um novo pojo como o idplanoensino, o nome da disciplina e o ano (as informacoes que me interessam na página JSP), criando uma lista destes pojos e entao ordenando…
Eu uso o Exadel Pro. É ele que faz as conversões pra mim a partir do BD, gerando o mapeamento e os pojos, por isso eu deixo os nomes como gerados. A tabela disciplina eu já tinha enviado. A pojo disciplina é:
package sw3a.hibernate;
import java.util.Collection;
public class Disciplinas {
private Integer iddisciplinas;
private Departamentos iddep;
private String codigodisciplina;
private String nome;
private String sigla;
private Short cargahorariat;
private Short cargahorariap;
private Short serie;
private Short semanual;
private Collection planoensino;
private Collection turmas;