package org.oregami.entities; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import org.hibernate.annotations.NamedQueries; import org.hibernate.annotations.NamedQuery; import org.hibernate.envers.Audited; import org.joda.time.LocalDateTime; import javax.persistence.*; import java.util.HashSet; import java.util.Set; @Entity @Audited @TopLevelEntity(discriminator = TopLevelEntity.Discriminator.GAMINGENVIRONMENT) @NamedQueries({ @NamedQuery(name="GamingEnvironment.GetAll", query = "from GamingEnvironment t") }) public class GamingEnvironment extends BaseEntityUUID { private static final long serialVersionUID = -4567292842284849726L; public GamingEnvironment() { } @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true, fetch= FetchType.EAGER) private HardwarePlatform hardwarePlatform; @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch= FetchType.EAGER) private Set<PlatformTitle> title = new HashSet<>(); public Set<PlatformTitle> getTitle() { return title; } public void setTitle(Set<PlatformTitle> title) { this.title = title; } public void addTitle(PlatformTitle t) { this.title.add(t); } @JsonSerialize(using = CustomLocalDateTimeSerializer.class) public LocalDateTime getChangeTimeGui() { return getChangeTime(); } public HardwarePlatform getHardwarePlatform() { return hardwarePlatform; } public void setHardwarePlatform(HardwarePlatform hardwarePlatform) { this.hardwarePlatform = hardwarePlatform; } }