테이블의 기본 키를 포함하는 영구 개체의 업데이트 된 필드가 거의없는 유스 케이스가 있습니다. 이 경우이 필드로만 행을 업데이트하려고합니다. 나는 절전 모드에서이 솔루션을 제공하지 않는다는 것을 발견했다. 그래서 객체의 모든 null이 아닌 필드를 결정하기 위해 반사를 사용하는 메소드를 직접 작성하고 이에 기반한 업데이트 쿼리를 생성하고 결국 그것을 실행한다. 내 응용 프로그램은 스프링 프레임 워크를 사용하여 작성됩니다. 지금까지 내가 한 방식은 세션 객체, 기본 키, 기본 키 값 및 tablename을 사용하는 업데이트 메소드가있는 별도의 util 클래스가 있습니다. 이 사용 사례를 구현하는 좋은 방법일까요? 이 기능을 개선하기위한 제안은 무엇입니까?최대 절전 모드에서 개체의 null이 아닌 필드 만 업데이트
답변
귀하의 질문에 명확하지 않습니다. 업데이트 중 하나를 할 수있는 선택하고 그것을 저장합니다. 또는 해당 엔티티를 생성하고 저장하십시오 (기본 키는 필수 항목 임). 업데이트를 원하기 때문에 첫 번째 방법을 사용할 수 있습니다. 필수 입력란에 대해 신경 쓸 필요가 없습니다.
귀하의 솔루션은 2 개의 쿼리를 수행하게됩니다. 먼저 선택하고 업데이트하십시오. 하나의 쿼리 자체에서 업데이트를 수행하고 싶습니다. 그게 내가 이러는 이유 야. – coder
모든 not null 값을 생성자에 전달할 수 있습니다. 따라서 모든 null이 아닌 필드에 값이있는 경우에만 지속성 객체를 만들 수 있습니다. – MadhavC
내가 필드에 성, 성 및 middlename, ID를 가진 사용자 클래스를 가지고있다. firstname 만 업데이트하려면 firstname과 id 만 사용하여 사용자 개체를 만듭니다. 이제 session.saveorupdate (user)를 실행하면 lastname과 middlename이 DB에서 null로 설정됩니다. 이것은 내가 원하는 것이 아닙니다. lastname과 middlename을 그대로두고 db에서 firstname 만 업데이트하려고합니다. – coder
대부분의 경우 엔터티의 POJO에 원시 데이터 형식을 사용하기 때문에 유지할 엔터티의 Nullable 필드에 기본값을 저장하는 것이 그 이유 중 하나입니다.
프리미티브를 사용하고 있지 않은지 여부를 확인하십시오. 그렇다면 해당 래퍼 클래스로 전환 한 다음 저장하십시오. 저장 또는 갱신 후 커밋시 데이터베이스에 null을 전달해야합니다.
희망 사항 :이 문제가 해결됩니다.
- 1. 최대 절전 모드에서 null이 아닌 경우에만 속성을 가져 오는 방법
- 2. null이 아닌 필드 만 업데이트하십시오.
- 3. 최대 절전 모드 - null이 아닌 속성은
- 4. 단일 데이터베이스 쿼리로 최대 절전 모드에서 업데이트
- 5. 조건부로 필드 업데이트 매개 변수가 null이 아닌 경우
- 6. null이 아닌 필드 만 입력 하시겠습니까?
- 7. Doctrine : NULL이 아닌 필드 만 삽입하십시오.
- 8. 최대 절전 모드를 사용하여 개체 필드 업데이트
- 9. 최대 절전 모드에서 OutOfMemory
- 10. Session.save는 최대 절전 모드에서 데이터를 업데이트 중임
- 11. 최대 절전 모드에서 허용되는 열만 업데이트
- 12. 최대 절전 모드에서 프로그램 스키마 업데이트 4
- 13. 최대 절전 모드에서 매핑하는 방법
- 14. 최대 절전 모드에서 '사례'SQL
- 15. 최대 절전 모드에서 지연로드
- 16. 최대 절전 모드에서 ClassCastException
- 17. 최대 절전 모드에서 임의로
- 18. 최대 절전 모드에서 업데이트 작업은 어떻게 작동합니까? 절전 문서 당으로서
- 19. null이 아닌 경우에만 업데이트
- 20. 최대 절전 모드에서 nulls 처리하기
- 21. 최대 절전 모드에서 수동으로 계산 된 필드 POJO
- 22. 최대 절전 모드에서 새로 유지 된 개체의 관계에 채워지지 않습니다.
- 23. 최대 절전 모드에서 다양한 테이블 개체의 상태를 설정하는 방법
- 24. 최대 절전 모드에서 개체의 두 목록을 역 참조
- 25. 최대 절전 모드에서 날짜 만 저장하는 방법은 무엇입니까?
- 26. 최대 절전 모드에서 ClassCastException 받기
- 27. 최대 절전 모드에서 역방향 검색
- 28. 일대 최대 절전 모드에서 매핑
- 29. 최대 절전 모드에서 스레드 차단
- 30. 최대 절전 모드에서 엔티티 생성
왜 그 필드 만 업데이트 하시겠습니까? –