Dúvida sobre o funcionamento HIbernate

Estou estudando hibernate e a minha dúvida é a seguinte : Se eu tiver por exemplo, suponha q eu tenha uma classe Usuario e quisesse gravar todos os acessos deste usuario. No BD teria uma tabel Usuario e uma AcessoUsuario. A dúvida é , se na hora que eu quiser carregar um objeto Usuario,supondo q eu queria so o os dados da classe Usuario persistida no banco, eu tenho como retornar somente eses dados? Ou o hinernate so traz o objeto inteiro? Estou desenvolvendo um sistema academico, a minha preocupacao e q um objeto Matricula faz relacionamentos com varias objetos…estou preocupado em termos de perfomance…

Acho que o “lazy” pode fazer isso. Se vc configurar o atributo lazy com o valor true em um relacionamento, os atributos deste relacionamento não serão carregados. Pelo que entendi do seu modelo, AcessoUsuario deve ser mapeado com lazy=true.

Você nem precisa configurar lazy=“true” em suas associação. Esta é a config. defalt do Hibernate. Se seu problema é performance dá uma olhada em lazy, batch select, cache entre outras formar de minimizar a perda de performance de uma ferramenta ORM.

Ah, é verdade Clodoaldo, mas só lembrando que este comportamento é default a partir do hibernate 3.0. Nas versões anteriores vc precisa declarar se quiser usar lazy como “true”, já que o valor default é “false”.