Hibenate usando o from dem popular certos parametros

ola nao achei nada disso na busca do forum, mas assim vamos ver se consigo demonstrar minha duvida:


@Entity
@Table(name="TESTE")
@SequenceGenerator(name = "SQ_TESTE", sequenceName = "SQ_TESTE")
public classe teste
{

    @Id
    @Column(name="TESTE_ID")
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SQ_TESTE")
    private long id;

    @OneToOne(cascade = CascadeType.ALL)
    @PrimaryKeyJoinColumn
    private Object teste2;
}

//Getters e Setters abaixo

Minha duvida e, o Objeto objeto e obtido pelo hibernate por meio de um join, existiria alguma maneira de em certo caso obter o teste2 completo e em outro obter apenas o a classe teste populada do banco, sem os joins isso e o teste2 como null?

}

localizei uma solução neste site: http://blog.dclick.com.br/?s=criteria

titulo do topico : Populando apenas o necessário com Hibernate

VIA HQL:

//Primeiro, vc cria um construtor para receber exatamente os dados retornados:

public Produto(Long id, String nome) {
this.id = id;
this.nome = nome;
}

// Depois usa esse construtor em uma HQL via ?new?:

select new Produto(pd.id, p.nome) from Produto p where ?

VIA CRITERIA:


   
      Collection collection = HibernateSessionFactory.getSession().createCriteria(Produto.class, "p")
   
      .setProjection( Projections.projectionList()
   
      .add( Projections.property("p.id").as("id") )
   
      .add( Projections.property("p.nome").as("nome") )
   
      .setResultTransformer(new AliasToBeanResultTransformer(Produto.class)).list();