- 왜: 기존에는 추가 정보(memories, personalities, backgrounds, relationships) 수정 시 전체 삭제 후 재생성되어 변경 누락/DB 오버헤드가 발생함 - 무엇: - Memory/Personality/Background 값 필드(content/description/emotion)를 var로 전환해 in-place 업데이트 허용 - 서비스 레이어에 증분 업데이트 로직 적용 - 요청에 없는 항목만 제거, 기존 항목은 값만 갱신, 신규 키만 추가 - relationships는 personName+relationshipName 복합 키 매칭(keyOf)으로 필드만 갱신 - ChatCharacter 컬렉션에 orphanRemoval=true 설정하여 iterator.remove 시 고아 삭제 보장 - updateChatCharacterWithDetails에서 clear/add 제거 → 증분 업데이트 메서드 호출로 변경 - 효과: DELETE+INSERT 제거로 성능 개선, ID/createdAt 유지로 감사 추적 용이, 데이터 정합성 향상 |
||
---|---|---|
gradle/wrapper | ||
scripts | ||
src | ||
.editorconfig | ||
.gitignore | ||
README.md | ||
appspec.yml | ||
build.gradle.kts | ||
gradlew | ||
gradlew.bat | ||
settings.gradle.kts |