Olá, Pessoal!
Estou desenvolvendo um sistema, usando JPA como ORM (Provedor TopLink).
Minha dúvida é a seguinte:
Eu entendo bem o funcionamento dessas duas anotações, porém, fico meio em dúvida de QUANDO usa-las. O que eu quero dizer é o seguinte, como eu posso definir quando deve ser utilizado o FetchType.EAGER no lugar do LAZY (Quanto isso vai ser melhor para o Sistema), e quando eu devo utilizar Cascade, que tipo de pensamento eu devo ter pra saber o quanto isso vai afetar o sistema, tanto no desempenho, quanto nos dados.
Por exemplo, em relacionamentos como “Pessoa Fisica” e “CPF” (OneToOne), eu tenho utilizado essas duas anotações, já que um CPF deve sempre vir carregado com a “Pessoa Fisica”, e sempre que uma “Pessoa Fisica” for removida, adicionada ou alterada, o CPF deve ser removido, adicionado ou alterado junto. Mas esse é um tipo de relacionamento fácil de detectar isso, existem relacionamentos mais complicados de se definir esse tipo de coisa.
Espero ter sido claro! Agradeço desde já!
Valeu! Abraços!