AJuda Hibernate Criteria

Pessoal tenho as seguintes tabelas:

[quote]CREATE SEQUENCE db_leilao.tb_automovel_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1;
CREATE TABLE db_leilao.tb_automovel(
cd_automovel INTEGER PRIMARY KEY NOT NULL DEFAULT nextval(‘db_leilao.tb_automovel_seq’),
cd_uf_automovel INTEGER REFERENCES db_lib.tb_uf(cd_uf),
nr_placa_automovel VARCHAR(250),
nr_renavam_automovel VARCHAR(250),
cd_modelo_automovel INTEGER REFERENCES db_leilao.tb_modelo_automovel(cd_modelo_automovel),
dt_ano_fabricacao_automovel DATE,
dt_ano_modelo_automovel DATE,
nr_codigo_seguranca_crv VARCHAR(250),
nr_crv INTEGER,
dt_emissao_crv DATE,
nr_via_crv VARCHAR(250),
dt_venda_automovel DATE
);

CREATE SEQUENCE db_leilao.tb_lote_leilao_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1;
CREATE TABLE db_leilao.tb_lote_leilao(
cd_lote_leilao INTEGER PRIMARY KEY NOT NULL DEFAULT nextval(‘db_leilao.tb_lote_leilao_seq’),
cd_leilao INTEGER REFERENCES db_leilao.tb_leilao(cd_leilao),
nm_lote_leilao VARCHAR(250) NOT NULL,
ds_lote_leilao TEXT,
cd_parte_vendedor INTEGER REFERENCES db_leilao.tb_parte(cd_parte),
vl_lote NUMERIC(12,2),
ic_lote_finalizado BOOLEAN
);

CREATE TABLE db_leilao.tb_automovel_lote(
cd_lote_leilao INTEGER REFERENCES db_leilao.tb_lote_leilao(cd_lote_leilao),
cd_automovel_lote INTEGER REFERENCES db_leilao.tb_automovel(cd_automovel),
CONSTRAINT tb_automovel_lote_pk PRIMARY KEY (cd_lote_leilao, cd_automovel_lote)
);
[/quote]

q me gerou as seguintes entity:

[code]
@Entity
@Table(name = “tb_automovel”, catalog = “db_dnaso”, schema = “db_leilao”)
@NamedQueries({@NamedQuery(name = “TbAutomovel.findAll”, query = “SELECT t FROM TbAutomovel t”)})
public class TbAutomovel implements Serializable {
@Transient
private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@Column(name = “cd_automovel”, nullable = false)
private Integer cdAutomovel;
@Column(name = “cd_uf_automovel”)
private Integer cdUfAutomovel;
@Column(name = “nr_placa_automovel”, length = 250)
private String nrPlacaAutomovel;
@Column(name = “nr_renavam_automovel”, length = 250)
private String nrRenavamAutomovel;
@Column(name = “dt_ano_fabricacao_automovel”)
@Temporal(TemporalType.DATE)
private Date dtAnoFabricacaoAutomovel;
@Column(name = “dt_ano_modelo_automovel”)
@Temporal(TemporalType.DATE)
private Date dtAnoModeloAutomovel;
@Column(name = “nr_codigo_seguranca_crv”, length = 250)
private String nrCodigoSegurancaCrv;
@Column(name = “nr_crv”)
private Integer nrCrv;
@Column(name = “dt_emissao_crv”)
@Temporal(TemporalType.DATE)
private Date dtEmissaoCrv;
@Column(name = “nr_via_crv”, length = 250)
private String nrViaCrv;
@Column(name = “dt_venda_automovel”)
@Temporal(TemporalType.DATE)
private Date dtVendaAutomovel;
@JoinTable(name = “tb_automovel_lote”, catalog = “db_dnaso”, schema = “db_leilao”, joinColumns = {@JoinColumn(name = “cd_automovel_lote”, referencedColumnName = “cd_automovel”, nullable = false)}, inverseJoinColumns = {@JoinColumn(name = “cd_lote_leilao”, referencedColumnName = “cd_lote_leilao”, nullable = false)})
@ManyToMany(fetch = FetchType.LAZY)
private Set tbLoteLeilaoCollection;
@JoinColumn(name = “cd_modelo_automovel”, referencedColumnName = “cd_modelo_automovel”)
@ManyToOne(fetch = FetchType.LAZY)
private TbModeloAutomovel cdModeloAutomovel;

@Entity
@Table(name = “tb_lote_leilao”, catalog = “db_dnaso”, schema = “db_leilao”)
@NamedQueries({@NamedQuery(name = “TbLoteLeilao.findAll”, query = “SELECT t FROM TbLoteLeilao t”)})
public class TbLoteLeilao implements Serializable {
@Transient
private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@Column(name = “cd_lote_leilao”, nullable = false)
private Integer cdLoteLeilao;
@Basic(optional = false)
@Column(name = “nm_lote_leilao”, nullable = false, length = 250)
private String nmLoteLeilao;
@Column(name = “ds_lote_leilao”, length = 2147483647)
private String dsLoteLeilao;
@Column(name = “vl_lote”, precision = 12, scale = 2)
private BigDecimal vlLote;
@Column(name = “ic_lote_finalizado”)
private Boolean icLoteFinalizado;
@JoinTable(name = “tb_comprador_lote”, catalog = “db_dnaso”, schema = “db_leilao”, joinColumns = {@JoinColumn(name = “cd_lote_leilao”, referencedColumnName = “cd_lote_leilao”, nullable = false)}, inverseJoinColumns = {@JoinColumn(name = “cd_parte_comprador”, referencedColumnName = “cd_parte”, nullable = false)})
@ManyToMany(fetch = FetchType.LAZY)
private Set tbParteCollection;
@ManyToMany(mappedBy = “tbLoteLeilaoCollection”, fetch = FetchType.LAZY)
private Set tbAutomovelCollection;
@JoinColumn(name = “cd_leilao”, referencedColumnName = “cd_leilao”)
@ManyToOne(fetch = FetchType.LAZY)
private TbLeilao cdLeilao;
@JoinColumn(name = “cd_parte_vendedor”, referencedColumnName = “cd_parte”)
@ManyToOne(fetch = FetchType.LAZY)
private TbParte cdParteVendedor;[/code]

alguem me explica como pegar todos os automoveis para um determinado lote?? ja tentei fazer o seguinte:

[code] DetachedCriteria criteria = DetachedCriteria.forClass(TbLoteLeilao.class);
criteria.createCriteria(“TbAutomovel”)
.add(Expression.eq(“tbLoteLeilaoCollection”, loteLeilao));

    return  hibernateTemplate.findByCriteria(criteria);[/code]

mas nao consegui… alguem pode me ajudar??

valeu