일부 Java 클래스는 제대로 작동하려면 공개 getter 및 setter가있는 개인 속성이 있어야합니다. 예를 들어, JSF 빈과 JPA 엔티티가이를 필요로합니다. 이러한 라이브러리가 아닌 경우 getter가 없어야하고 확실히 setter가 없어야하는 속성이있을 수 있습니다. 또한 빈 생성자는 종종 사용자 정의 코드에서 사용하기를 권장하지 않습니다. 예를 들어,권장되지 않는 메소드
@Entity
public class MyEntity implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
public MyEntity() {}
public Long getId() {
return this.id;
}
public void setId(Long id) {
this.id = id;
}
}
이 클래스에서 setId 메소드는 수동 코드에 의해 호출되어서는 안됩니다. 이 메소드는 더 이상 사용되지 않으므로 @Deprecated 주석이 잘못 될 수 있습니다.
@Deprecated 이외의 다른 방법으로 사용하지 말아야 할 방법이 있습니까?
이 질문은 JSF 및 JPA와 관련이 없습니다. 여전히 이러한 프레임 워크를 언급 할 가치가 있습니다. –
예제가 좋지 않습니다. 이 경우 세터 사용을 왜 방해 하시겠습니까? 그것의 값을 설정할 수 있기를 원하는 모든 종류의 데이터 조합을 저장할 수있는 엔티티 개체입니다. – Perception
초기화 할 때 고유 식별자를 변경하지 않으려 고합니다. –