content: package com.bookstore.entity;
  
  import java.util.Objects;
  import javax.persistence.Transient;
  import org.hibernate.bytecode.enhance.internal.tracker.DirtyTracker;
  import org.hibernate.engine.spi.EntityEntry;
  import org.hibernate.engine.spi.ManagedEntity;
  
  @javax.persistence.Entity
  public class Author
      implements java.io.Serializable, ManagedEntity, org.hibernate.engine.spi.SelfDirtinessTracker
  {
      private static final long serialVersionUID = 1L;
      @javax.persistence.Id
      @javax.persistence.GeneratedValue(strategy=javax.persistence.GenerationType.IDENTITY)
      private Long id;
      private String name;
      private String genre;
  
      public Author() {}
  
      public Long getId() { return $$_hibernate_read_id(); }
  
      private int age;
  
      public void setId(Long id) { $$_hibernate_write_id(id); }
  
  
  
      public String getName() { return $$_hibernate_read_name(); }
  
      @Transient
      private transient EntityEntry $$_hibernate_entityEntryHolder;
      public void setName(String name) { $$_hibernate_write_name(name); }
  
      @Transient
      private transient ManagedEntity $$_hibernate_previousManagedEntity;
      public String getGenre() { return $$_hibernate_read_genre(); }
  
      public void setGenre(String genre)
      {
          $$_hibernate_write_genre(genre);
      }
  
      public int getAge() {
          return $$_hibernate_read_age();
      }
  
      public void setAge(int age) {
          $$_hibernate_write_age(age);
      }
  
      @Transient
      private transient ManagedEntity $$_hibernate_nextManagedEntity;
      @Transient
      private transient DirtyTracker $$_hibernate_tracker;
      public Object $$_hibernate_getEntityInstance()
      {
          return this;
      }
  
      public EntityEntry $$_hibernate_getEntityEntry()
      {
          return $$_hibernate_entityEntryHolder;
      }
  
      public void $$_hibernate_setEntityEntry(EntityEntry paramEntityEntry)
      {
          $$_hibernate_entityEntryHolder = paramEntityEntry;
      }
  
      public ManagedEntity $$_hibernate_getPreviousManagedEntity()
      {
          return $$_hibernate_previousManagedEntity;
      }
  
      public void $$_hibernate_setPreviousManagedEntity(ManagedEntity paramManagedEntity)
      {
          $$_hibernate_previousManagedEntity = paramManagedEntity;
      }
  
      public ManagedEntity $$_hibernate_getNextManagedEntity()
      {
          return $$_hibernate_nextManagedEntity;
      }
  
      public void $$_hibernate_setNextManagedEntity(ManagedEntity paramManagedEntity)
      {
          $$_hibernate_nextManagedEntity = paramManagedEntity;
      }
  
      public void $$_hibernate_trackChange(String paramString)
      {
          if ($$_hibernate_tracker == null)
          {
              this;
              $$_hibernate_tracker = new org.hibernate.bytecode.enhance.internal.tracker.SimpleFieldTracker();
          }
          $$_hibernate_tracker.add(paramString);
      }
  
      public String[] $$_hibernate_getDirtyAttributes()
      {
          Object localObject = this;
          localObject = null;
          localObject = $$_hibernate_tracker == null ? new String[0] : $$_hibernate_tracker.get();
          return localObject;
      }
  
      public boolean $$_hibernate_hasDirtyAttributes()
      {
          Author localAuthor = this;
          boolean bool = false;
          bool = ($$_hibernate_tracker != null) && (!$$_hibernate_tracker.isEmpty());
          return bool;
      }
  
      public void $$_hibernate_clearDirtyAttributes()
      {
          if ($$_hibernate_tracker != null) {
              $$_hibernate_tracker.clear();
          }
      }
  
      public void $$_hibernate_suspendDirtyTracking(boolean paramBoolean)
      {
          if ($$_hibernate_tracker == null)
          {
              this;
              $$_hibernate_tracker = new org.hibernate.bytecode.enhance.internal.tracker.SimpleFieldTracker();
          }
          $$_hibernate_tracker.suspend(paramBoolean);
      }
  
      public org.hibernate.bytecode.enhance.spi.CollectionTracker $$_hibernate_getCollectionTracker()
      {
          Object localObject = this;
          localObject = null;
          localObject = org.hibernate.bytecode.enhance.internal.tracker.NoopCollectionTracker.INSTANCE;
          return localObject;
      }
  
      public Long $$_hibernate_read_id()
      {
          return id;
      }
  
      public void $$_hibernate_write_id(Long paramLong)
      {
          id = paramLong;
      }
  
      public String $$_hibernate_read_name()
      {
          return name;
      }
  
      public void $$_hibernate_write_name(String paramString)
      {
          if (!Objects.deepEquals(paramString, name)) {
              $$_hibernate_trackChange("name");
          }
          name = paramString;
      }
  
      public String $$_hibernate_read_genre()
      {
          return genre;
      }
  
      public void $$_hibernate_write_genre(String paramString)
      {
          if (!Objects.deepEquals(paramString, genre)) {
              $$_hibernate_trackChange("genre");
          }
          genre = paramString;
      }
  
      public int $$_hibernate_read_age()
      {
          return age;
      }
  
      public void $$_hibernate_write_age(int paramInt)
      {
          if (paramInt - age != 0) {
              $$_hibernate_trackChange("age");
          }
          age = paramInt;
      }
  }
  