Quebrar encapsulamento ao mapear entidade no JPA2 é crime em alguns casos?

2 respostas
wfuertes
Olá pessoal, considerem um mapeamento simples para uma entidade no JPA, por exemplo: Cliente.
@Entity
@Table(schema = "guj")
public class Cliente {
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	public Long id;
	
	public String nome;
	
	@Embedded
	public Endereco endereco;
}
Neste caso seria um pecado muito grande abrir não do encapsulamento pela simplicidade, pois já que as anotações estão nos atributos (Field Access) o provedor do JPA fará o acesso aos atributos usando reflection, e getters e setters não são necessários.

Qual a opinião de vocês?

2 Respostas

drsmachado

Vai pensar apenas na parte de persistência?
E a lógica? E a parte onde você vai definir os valores dos atributos?

wfuertes

Vamos considerar que fosse usar uma estrutura via Repositórios, dai para classe Cliente teríamos um ClienteRepositorio, a logica poderia ficar um classe ClienteService.

Criado 13 de agosto de 2013
Ultima resposta 13 de ago. de 2013
Respostas 2
Participantes 2