package org.hibernate.cache.redis.jpa.models;
import com.google.common.base.Objects;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.cache.redis.AbstractHibernateEntity;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
@org.hibernate.annotations.Cache(region = "common", usage = CacheConcurrencyStrategy.READ_WRITE)
@Getter
@Setter
public class Item extends AbstractHibernateEntity {
public static Item of(String name, String description) {
Item item = new Item();
item.setName(name);
item.setDescription(description);
return item;
}
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String name;
private String description;
@Override
public int hashCode() {
return Objects.hashCode(name);
}
private static final long serialVersionUID = -7380167977967893604L;
}