content: package com.bookstore.entity;
  
  import org.hibernate.annotations.NaturalId;
  
  import javax.persistence.Column;
  import javax.persistence.Entity;
  import javax.persistence.GeneratedValue;
  import javax.persistence.GenerationType;
  import javax.persistence.Id;
  import java.io.Serializable;
  
  @Entity
  public class Author implements Serializable {
      private static final long serialVersionUID = 1L;
  
      @Id
      @GeneratedValue(strategy = GenerationType.IDENTITY)
      private Long id;
  
      private int age;
      private String name;
      private String genre;
  
      @NaturalId(mutable = false)
      @Column(nullable = false, updatable = false, unique = true, length = 50)
      private String email;
  
      public Long getId() {
          return id;
      }
  
      public void setId(Long id) {
          this.id = id;
      }
  
      public String getName() {
          return name;
      }
  
      public void setName(String name) {
          this.name = name;
      }
  
      public String getGenre() {
          return genre;
      }
  
      public void setGenre(String genre) {
          this.genre = genre;
      }
  
      public int getAge() {
          return age;
      }
  
      public void setAge(int age) {
          this.age = age;
      }
  
      public String getEmail() {
          return email;
      }
  
      public void setEmail(String email) {
          this.email = email;
      }
  
      @Override
      public String toString() {
          return "Author{" + "id=" + id + ", age=" + age + ", name=" + name + ", genre=" + genre + ", email=" + email + '}';
      }
  }