package net.curisit.securis.db; import java.io.Serializable; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.EntityListeners; import javax.persistence.Id; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table; import net.curisit.securis.db.common.ModificationTimestampEntity; import net.curisit.securis.db.listeners.ModificationTimestampListener; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import com.fasterxml.jackson.annotation.JsonProperty; /** * Entity implementation class for Entity: settings settings is a table that has * rows with 3 columns: "key", "value", "timestamp" * */ @Entity() @EntityListeners({ ModificationTimestampListener.class }) @Table(name = "settings") @NamedQueries({ @NamedQuery(name = "get-param", query = "SELECT p FROM Settings p where p.key = :key") }) public class Settings implements ModificationTimestampEntity, Serializable { @SuppressWarnings("unused") private static final Logger LOG = LogManager.getLogger(Settings.class); private static final long serialVersionUID = 1L; @Id String key; String value; @Column(name = "modification_timestamp") @JsonProperty("modification_timestamp") private Date modificationTimestamp; public String getKey() { return key; } public void setKey(String key) { this.key = key; } public String getValue() { return value; } public void setValue(String value) { this.value = value; } @Override public Date getModificationTimestamp() { return modificationTimestamp; } @Override public void setModificationTimestamp(Date modificationTimestamp) { this.modificationTimestamp = modificationTimestamp; } @Override public String toString() { return String.format("{key: %s, value: %s, ts: %s}", key, value, modificationTimestamp); } }