Ajuda Hibernate Criteria retorna mais registros do que o certo

Pessoal tenho as duas entitys:

TbFabricanteAutomovel

public class TbFabricanteAutomovel implements Serializable {
    @Transient
    private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="db_leilao.tb_fabricante_automovel_seq")
    @Basic(optional = false)
    @Column(name = "cd_fabricante_automovel", nullable = false)
    private Integer cdFabricanteAutomovel;
    @Basic(optional = false)
    @Column(name = "nm_fabricante_automovel", nullable = false, length = 250)
    private String nmFabricanteAutomovel;
    @OneToMany(mappedBy = "cdFabricanteModelo", fetch = FetchType.EAGER)
    private Set<TbModeloAutomovel> tbModeloAutomovelCollection;

TbModeloAutomovel

@NamedQueries({@NamedQuery(name = "TbModeloAutomovel.findAll", query = "SELECT t FROM TbModeloAutomovel t")}) public class TbModeloAutomovel implements Serializable { @Transient private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this); private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="db_leilao.tb_modelo_automovel_seq") @Basic(optional = false) @Column(name = "cd_modelo_automovel", nullable = false) private Integer cdModeloAutomovel; @Basic(optional = false) @Column(name = "nm_modelo_automovel", nullable = false, length = 250) private String nmModeloAutomovel; @OneToMany(mappedBy = "cdModeloAutomovel", fetch = FetchType.EAGER) private Set<TbAutomovel> tbAutomovelCollection; @JoinColumn(name = "cd_fabricante_modelo", referencedColumnName = "cd_fabricante_automovel") @ManyToOne(fetch = FetchType.EAGER) private TbFabricanteAutomovel cdFabricanteModelo;

faco a seguinte Criteria: [code]
public List getModelosFromFabricante(TbFabricanteAutomovel fabricanteAutomovel) {
DetachedCriteria criteria = DetachedCriteria.forClass(TbModeloAutomovel.class);
criteria.add(Expression.eq(“cdFabricanteModelo”, fabricanteAutomovel));
return hibernateTemplate.findByCriteria(criteria);

}[/code]

tenho cadastrado dois fabricantes VW e BMW e tenho dois modelos de automoveis para cada BMW - X5, Z3 e para VW - GOL E PASSAT . porem o retorno da minha criteria e 2GOLS e 2 PASSAT para VW e 2 Z3 e 1 X5 para BMW, sendo q o certo seria UM MODELO DE CADA PARA CADA FABRICANTE… alguem pode me ajudar??

obrigado

Só por curiosidade, pq expression??
Eu uso Restrictions, Expression tem a mesma função???

Cara num sei tbm hehehe eu peguei um que usava essa e acabei deixando… to iniciando no esquema… qual a diferenca entre eles??

coloquei Restrictions e nada tbm… continua a mesma coisa