저는 JPA 초보자입니다. 나와 함께있어주세요. 사용할 옵션을 결정할 수 없으므로 도움이 필요합니다. .JPA 필드 액세스, create.query, update.query 또는 속성 액세스, 찾기 및 설정자를 사용해야합니까?
옵션 1 : 나는 엔티티 필드 위의 주석을 배치하고 (데이터베이스에 저장 한 후 등) 생성자를 통해서만 생성시 개체에 대한 쓰기 액세스 할 수 있습니다. JPA 관리자는 필드 액세스 이후에도 업데이트 쿼리를 수행 할 수 있음을 알고 있습니다 (hier). 이 방법을 사용하면 항목을 업데이트하거나 변경하려는 경우 새 쿼리를 만들어야합니다. 하지만이 쿼리는 직접 작성해야합니다 (명시된대로 hier).
옵션 2 : 나는 게터/세터 위의 주석을 배치하고 함께 세터 (같은이 hier)와 엔티티 관리자의 방법을 찾아 사용 후 속성 액세스 를 사용합니다. 이것은 나를위한 쿼리를 만들지 만 이제는 데이터베이스에 추가하기 전에 설정자가 개체를 만든 후에 변경할 수 있습니다.
내 의견 는 또한 hier 동안 상단 대답은 세터
엔티티를 업데이트하는 올바른 방법을 사용하는 것이 좋습니다 당신은 당신이 세터를 통해 업데이트 원하는 속성을 설정하고 할 수 있다는 것입니다 JPA는이있는 (플러싱 대신 수동으로
Hier 두 번째 답을 작성하는 동안 에게 당신을위한 업데이트 SQL을 생성하는 대부분의 upvotes) 필드 액세스가 방법입니다 상태.
저는 혼란 스럽지만 아마 두 번째 옵션을 생성자와 함께 사용하고 Entity manager에만 setter를 사용하고 setters 패키지를 private로 만듭니다. 자바 EE6와 지속성 공급자와 JPA 2.0 로 2.5 +는 EclipseLink를 사용
정보
- 임 내가 SAP를 하나 클라우드 플랫폼으로 작동하는지 언급해야 및 이있다 tutorial 사용 첫 번째 옵션은 설정자와 함께 의 생성자입니다.
질문 : 가 나는 JPA 초보자으로 만 항목 1~30일 후 삭제됩니다 로깅을 위해 데이터베이스에 대한 옵션 1 또는 2를 사용합니다. ?
참조 http://stackoverflow.com/questions/4188048/why-should-anybody-put-annotations-on-the-getters-or-setters -when-using-jpa-to-m – perissf
이전에 읽었으며 두 번째 옵션을 지원합니다. 이제 특정 액세스 부분을 볼 수 있지만 그 시나리오는 어떻게 바뀔까요? – MADforFUNandHappy