Duvida Hibernete criar relacionamento automatico ou manual?

Pessoal estou com uma divida sobre sobre isso, ex tenho uma classe venda e
nela tenho id do cliente, id do vendedor, id do produto e todos os ids que precissar, minha duvida é se crio o metodo na classe getCliente() que retorna o cliente ou so getIdCliente que retorna o id do cliente e se precissar saber quem é o cliente chamo ele atraves de Dao assim: cliDao.getCliente(venda.getIdCliente()); estou com essa duvida pois a tabela é grande imagina por exemplo 1000 vendas e eu pusso essas venda então estarei buscando tambem no bd os Cliente dessa venda o vendedo o produto o fornecedor etc, acho que vai ficar pesado, e só usando ids na que precissar e só buscar o que precissa, mas essa opção crio dependencias tenho que fazer na unha mesmo, então gostaria da opnião de vcs?

grato.

com o Hibernate, vc nao usa os ids… vc coloca o Cliente como um campo mesmo, como POJOS (classes normais), sem se preocupar com essas coisas…
ex:


public class Venda {
  private Cliente cliente;
  ....
  //getters e setters
}

dai quando vc carregar um objeto Venda, o hibernate vai colocar o cliente certo para vc…

você pode criar o método getCliente() sim e utilizar o atributo lazy quando você estiver informando o relacionamento no arquivo de maepamento, por exemplo <many-to-one name=“abcd” class=“Abcd” column=“idAbcd” lazy=“true”/>

dessa forma ele só vai carregar o atributo abcd quando você for utilizá-lo, ou seja, quando você chamar o método getAbcd()

[]'s