From 02b837a0eac7966cbb89404eea8fff9d67043b7c Mon Sep 17 00:00:00 2001 From: Vincent Guillet Date: Mon, 19 May 2025 14:44:26 +0200 Subject: [PATCH] Refactor Article class to extend Publication and add views attribute --- .../java/com/humanbooster/model/Article.java | 54 +++++-------------- 1 file changed, 12 insertions(+), 42 deletions(-) diff --git a/hibernate-project/src/main/java/com/humanbooster/model/Article.java b/hibernate-project/src/main/java/com/humanbooster/model/Article.java index 0cd0da3..1760911 100644 --- a/hibernate-project/src/main/java/com/humanbooster/model/Article.java +++ b/hibernate-project/src/main/java/com/humanbooster/model/Article.java @@ -2,53 +2,23 @@ package com.humanbooster.model; import jakarta.persistence.*; +import java.time.LocalDate; + @Entity -public class Article { - - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Long id; - - @Column(name = "title", nullable = false, length = 100) - private String title; - - @Column(name = "content", nullable = false) - private String content; +public class Article extends Publication { @ManyToOne - @JoinColumn(name="author_id", nullable=false) + @JoinColumn(name="author_id", nullable = false) private User author; + private int views = 0; + public Article() {} - public Article (String title, String content, User author){ - this.title = title; - this.content = content; + public Article (String title, String content, LocalDate publishDate, User author, int views) { + super(title, content, publishDate); this.author = author; - } - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getContent() { - return content; - } - - public void setContent(String content) { - this.content = content; + this.views = views; } public User getAuthor() { @@ -63,9 +33,9 @@ public class Article { public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("Article ID: ").append(id).append("\n"); - sb.append("Title: ").append(title).append("\n"); - sb.append("Content: ").append(content).append("\n"); + sb.append("Article ID: ").append(super.getId()).append("\n"); + sb.append("Title: ").append(super.getTitle()).append("\n"); + sb.append("Content: ").append(super.getContent()).append("\n"); sb.append("Author: ").append(author != null ? author.getName() : "Unknown").append("\n"); return sb.toString();