]> git.mxchange.org Git - jproduct-core.git/blobdiff - src/org/mxchange/jshopcore/model/category/BaseCategory.java
Continued with JPA:
[jproduct-core.git] / src / org / mxchange / jshopcore / model / category / BaseCategory.java
index bb371cdf7bc64d39cb0dd9c24eac32379ac62d1c..6b2e8245e4df602d37f753322d7b9c7376960c2d 100644 (file)
 package org.mxchange.jshopcore.model.category;
 
 import java.util.Objects;
+import javax.persistence.Basic;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.Table;
 
 /**
  * A general product category class
  *
  * @author Roland Haeder<roland@mxchange.org>
  */
+@Entity(name = "category")
+@Table(name = "category")
 public abstract class BaseCategory implements Category, Comparable<Category> {
+
        /**
         * Serial number
         */
@@ -32,16 +41,22 @@ public abstract class BaseCategory implements Category, Comparable<Category> {
        /**
         * Id number of category
         */
+       @Id
+       @GeneratedValue
+       @Column
        private Long id;
 
        /**
         * Parent category id
         */
+       @Column(name = "parent_id", length = 20)
        private Long parentId;
 
        /**
         * Title of category
         */
+       @Basic(optional = false)
+       @Column(length = 100, nullable = false, unique = true)
        private String title;
 
        /**
@@ -90,6 +105,13 @@ public abstract class BaseCategory implements Category, Comparable<Category> {
                return 1;
        }
 
+       @Override
+       public void copyAll (final Category category) {
+               // Copy all data
+               this.setParentId(category.getParentId());
+               this.setTitle(category.getTitle());
+       }
+
        /**
         * Id number of category
         *