diff --git a/backend/src/main/java/org/raddatz/familienarchiv/document/DocumentService.java b/backend/src/main/java/org/raddatz/familienarchiv/document/DocumentService.java index 413216dc..2b428b70 100644 --- a/backend/src/main/java/org/raddatz/familienarchiv/document/DocumentService.java +++ b/backend/src/main/java/org/raddatz/familienarchiv/document/DocumentService.java @@ -447,6 +447,7 @@ public class DocumentService { return saved; } + @Transactional public Document updateDocumentTags(UUID docId, List tagNames) { Document doc = documentRepository.findById(docId) .orElseThrow(() -> DomainException.notFound(ErrorCode.DOCUMENT_NOT_FOUND, "Document not found: " + docId)); @@ -636,6 +637,7 @@ public class DocumentService { } // 0. Zuletzt aktive Dokumente (sortiert nach updatedAt DESC) + @Transactional(readOnly = true) public List getRecentActivity(int size) { return documentRepository.findAll( PageRequest.of(0, size, Sort.by(Sort.Direction.DESC, "updatedAt")) @@ -843,6 +845,7 @@ public class DocumentService { documentRepository.save(doc); } + @Transactional(readOnly = true) public Document getDocumentById(UUID id) { Document doc = documentRepository.findById(id) .orElseThrow(() -> DomainException.notFound(ErrorCode.DOCUMENT_NOT_FOUND, "Document not found: " + id)); diff --git a/backend/src/main/java/org/raddatz/familienarchiv/person/Person.java b/backend/src/main/java/org/raddatz/familienarchiv/person/Person.java index b3ad7b0d..c99a6f76 100644 --- a/backend/src/main/java/org/raddatz/familienarchiv/person/Person.java +++ b/backend/src/main/java/org/raddatz/familienarchiv/person/Person.java @@ -1,6 +1,7 @@ package org.raddatz.familienarchiv.person; import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.persistence.*; import lombok.*; @@ -9,6 +10,8 @@ import org.raddatz.familienarchiv.user.DisplayNameFormatter; import java.util.ArrayList; import java.util.List; import java.util.UUID; + +@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"}) @Entity @Table(name = "persons") @Data diff --git a/backend/src/main/java/org/raddatz/familienarchiv/tag/Tag.java b/backend/src/main/java/org/raddatz/familienarchiv/tag/Tag.java index 508d7f12..8be07fdc 100644 --- a/backend/src/main/java/org/raddatz/familienarchiv/tag/Tag.java +++ b/backend/src/main/java/org/raddatz/familienarchiv/tag/Tag.java @@ -2,10 +2,12 @@ package org.raddatz.familienarchiv.tag; import java.util.UUID; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.persistence.*; import lombok.*; +@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"}) @Entity @Data @NoArgsConstructor