From 37e2b6c7cb1fde8b9e7bf8cb38f01eee8157324f Mon Sep 17 00:00:00 2001 From: Fibinger Ádám <adam.fibinger@wup.hu> Date: Wed, 27 Feb 2019 14:47:00 +0100 Subject: [PATCH] JPA + Hibernate working version (H2 console enabled) --- src/main/java/hu/unr/fiber/cardapi/Card.java | 46 +++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 45 insertions(+), 1 deletions(-) diff --git a/src/main/java/hu/unr/fiber/cardapi/Card.java b/src/main/java/hu/unr/fiber/cardapi/Card.java index eb30103..b5959be 100644 --- a/src/main/java/hu/unr/fiber/cardapi/Card.java +++ b/src/main/java/hu/unr/fiber/cardapi/Card.java @@ -1,10 +1,29 @@ package hu.unr.fiber.cardapi; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; + +import javax.persistence.*; +import java.util.Objects; + +@Entity +@Table(name = "Card") +@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"}) public class Card { - private long id; + public static final long INVALID_ID = 0; + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id", updatable = false, nullable = false) + private long id = INVALID_ID; private String name; + //FIXME: @Pattern([0-9]+) + @Column(unique=true) private String number; private String cardHolder; + + public Card(){ + super(); + } public Card(long id) { this.id = id; @@ -19,6 +38,10 @@ public long getId() { return id; + } + + public boolean validId() { + return (this.getId() != Card.INVALID_ID); } public void setId(long id) { @@ -48,4 +71,25 @@ public void setCardHolder(String cardHolder) { this.cardHolder = cardHolder; } + + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Card card = (Card) o; + return id == card.id && + name.equals(card.name) && + number.equals(card.number) && + Objects.equals(cardHolder, card.cardHolder); + } + + public void update(Card otherCard) { + this.setName(otherCard.getName()); + this.setNumber(otherCard.getNumber()); + this.setCardHolder(otherCard.getCardHolder()); + } + + @Override + public String toString() { + return "#" + this.number + " - " + this.name + " @ " + this.cardHolder; + } } -- Gitblit v1.8.0