Para associações de valor único, isto é, Um-para-Um e Muitos-para-Um: -
Preguiçoso padrão =
carregamento lento do proxy : - Isso implica que um objeto proxy da entidade associada foi carregado. Isso significa que apenas o id que conecta as duas entidades é carregado para o objeto proxy da entidade associada.
Por exemplo: A e B são duas entidades com associação Muitos para um. isto é: Pode haver vários A's para cada B. Cada objeto de A conterá uma referência de B.
`
public class A{
int aid;
//some other A parameters;
B b;
}
public class B{
int bid;
//some other B parameters;
}
`
A relação A conterá colunas (ajuda, lance, ... outras colunas da entidade A).
A relação B conterá colunas (lance, ... outras colunas da entidade B)
Proxy implica que quando A é buscado, apenas id é buscado para B e armazenado em um objeto proxy de B que contém apenas id. O objeto proxy de B é um objeto de uma classe proxy que é uma subclasse de B com apenas campos mínimos. Como o lance já faz parte da relação A, não é necessário disparar uma consulta para obter o lance da relação B. Outros atributos da entidade B são carregados lentamente somente quando um campo diferente de lance é acessado.
Para coleções, isto é, muitos-para-muitos e um-para-muitos: -
Padrão lento = verdadeiro
Observe também que a estratégia de busca (selecionar, juntar etc.) pode substituir o lento. ie: Se lazy = 'true' e fetch = 'join', a busca de A também buscará B ou Bs (no caso de coleções). Você pode entender o motivo se pensar a respeito.
A busca padrão para associação de valor único é "junção".
A busca padrão para coleções é "selecionar". Verifique as duas últimas linhas. Eu deduzi isso logicamente.