Add illustration id to publication entity.
This commit is contained in:
@@ -24,13 +24,13 @@ public class AuthorEntity {
|
||||
private UUID id;
|
||||
@Column(nullable = false)
|
||||
private String name;
|
||||
// private String pictureId;
|
||||
// private String illustrationId;
|
||||
|
||||
public AuthorEntity(Author author) {
|
||||
this(
|
||||
author.id(),
|
||||
author.name()
|
||||
// author.pictureId()
|
||||
// author.illustrationId()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@ import java.util.UUID;
|
||||
|
||||
import org.codiki.domain.publication.model.Publication;
|
||||
import org.codiki.infrastructure.category.model.CategoryEntity;
|
||||
import org.codiki.infrastructure.picture.model.PictureEntity;
|
||||
|
||||
import static jakarta.persistence.FetchType.LAZY;
|
||||
import jakarta.persistence.Column;
|
||||
@@ -38,9 +37,8 @@ public class PublicationEntity {
|
||||
private String description;
|
||||
@Column(nullable = false)
|
||||
private ZonedDateTime creationDate;
|
||||
@ManyToOne(fetch = LAZY)
|
||||
@JoinColumn(name = "picture_id")
|
||||
private PictureEntity picture;
|
||||
@Column(nullable = false)
|
||||
private UUID illustrationId;
|
||||
@ManyToOne(fetch = LAZY)
|
||||
@JoinColumn(name = "author_id")
|
||||
private AuthorEntity author;
|
||||
@@ -56,7 +54,7 @@ public class PublicationEntity {
|
||||
publication.text(),
|
||||
publication.description(),
|
||||
publication.creationDate(),
|
||||
new PictureEntity(publication.picture()),
|
||||
publication.illustrationId(),
|
||||
new AuthorEntity(publication.author()),
|
||||
new CategoryEntity(publication.category())
|
||||
);
|
||||
@@ -69,7 +67,8 @@ public class PublicationEntity {
|
||||
title,
|
||||
text,
|
||||
description,
|
||||
creationDate, picture.toDomain(),
|
||||
creationDate,
|
||||
illustrationId,
|
||||
author.toDomain(),
|
||||
category.toDomain()
|
||||
);
|
||||
|
||||
@@ -12,7 +12,6 @@ public interface PublicationRepository extends JpaRepository<PublicationEntity,
|
||||
@Query("""
|
||||
SELECT p
|
||||
FROM PublicationEntity p
|
||||
JOIN FETCH p.picture pi
|
||||
JOIN FETCH p.author a
|
||||
JOIN FETCH p.category c
|
||||
WHERE p.id = :publicationId
|
||||
|
||||
@@ -46,15 +46,15 @@ CREATE TABLE IF NOT EXISTS publication (
|
||||
text VARCHAR NOT NULL,
|
||||
description VARCHAR NOT NULL,
|
||||
creation_date TIMESTAMP NOT NULL,
|
||||
picture_id UUID NOT NULL,
|
||||
illustration_id UUID NOT NULL,
|
||||
author_id UUID NOT NULL,
|
||||
category_id UUID NOT NULL,
|
||||
CONSTRAINT publication_pk PRIMARY KEY (id),
|
||||
CONSTRAINT publication_picture_id_fk FOREIGN KEY (picture_id) REFERENCES picture (id),
|
||||
CONSTRAINT publication_picture_id_fk FOREIGN KEY (illustration_id) REFERENCES picture (id),
|
||||
CONSTRAINT publication_author_id_fk FOREIGN KEY (author_id) REFERENCES "user" (id),
|
||||
CONSTRAINT publication_category_id_fk FOREIGN KEY (category_id) REFERENCES category (id)
|
||||
);
|
||||
CREATE INDEX publication_picture_id_idx ON publication (picture_id);
|
||||
CREATE INDEX publication_picture_id_idx ON publication (illustration_id);
|
||||
CREATE INDEX publication_author_id_idx ON publication (author_id);
|
||||
CREATE INDEX publication_category_id_idx ON publication (category_id);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user