package net.curisit.securis.db; import java.io.Serializable; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table; import org.codehaus.jackson.annotate.JsonAutoDetect; import org.codehaus.jackson.annotate.JsonIgnoreProperties; import org.codehaus.jackson.annotate.JsonProperty; import org.codehaus.jackson.map.annotate.JsonSerialize; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Entity implementation class for Entity: license_type * */ @JsonAutoDetect @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Entity @Table(name = "license_type") @NamedQueries( { @NamedQuery(name = "list-license_types", query = "SELECT new map(lt.id as id, lt.code as code, lt.name as name, lt.description as description, lt.creationTimestamp as creationTimestamp, ap.id as application_id, ap.name as application_name) FROM LicenseType lt inner join lt.application ap") }) public class LicenseType implements Serializable { private static final Logger log = LoggerFactory.getLogger(LicenseType.class); private static final long serialVersionUID = 1L; @Id @GeneratedValue private int id; private String code; private String name; private String description; @Column(name = "creation_timestamp") private Date creationTimestamp; @ManyToOne @JoinColumn(name = "application_id") private Application application; public int getId() { return id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public Application getApplication() { return application; } @JsonProperty("application_id") public Integer getApplicationId() { log.info("application " + application); return application == null ? null : application.getId(); } @JsonProperty("application_id") public void setApplicationId(Integer appId) { log.info("setApplicationId(Integer appId) " + appId); application = new Application(); application.setId(appId); } public void setApplication(Application application) { this.application = application; } public Date getCreationTimestamp() { return creationTimestamp; } public void setCreationTimestamp(Date creationTimestamp) { this.creationTimestamp = creationTimestamp; } }