/******************************************************************************* * Copyright 2014 Federal Chancellery Austria * MOA-ID has been developed in a cooperation between BRZ, the Federal * Chancellery Austria - ICT staff unit, and Graz University of Technology. * * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by * the European Commission - subsequent versions of the EUPL (the "Licence"); * You may not use this work except in compliance with the Licence. * You may obtain a copy of the Licence at: * http://www.osor.eu/eupl/ * * Unless required by applicable law or agreed to in writing, software * distributed under the Licence is distributed on an "AS IS" basis, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the Licence for the specific language governing permissions and * limitations under the Licence. * * This product combines work with different licenses. See the "NOTICE" text * file for details on the various modules and licenses. * The "NOTICE" text file is part of the distribution. Any derivative works * that you distribute must include a readable copy of the "NOTICE" text file. *******************************************************************************/ package at.gv.egovernment.moa.id.commons.db.dao.session; import java.io.Serializable; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Lob; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table; import org.hibernate.annotations.DynamicUpdate; import com.fasterxml.jackson.annotation.JsonCreator; @Entity @DynamicUpdate(value=true) @Table(name = "assertionstore") @NamedQueries({ @NamedQuery(name="getAssertionWithArtifact", query = "select assertionstore from AssertionStore assertionstore where assertionstore.artifact = :artifact"), @NamedQuery(name="getAssertionWithTimeOut", query = "select assertionstore from AssertionStore assertionstore where assertionstore.timestamp < :timeout") }) public class AssertionStore implements Serializable{ /** * */ private static final long serialVersionUID = 2804964892915004185L; @JsonCreator public AssertionStore(){ } @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "id", unique=true, nullable=false) private long id; @Column(name = "artifact", unique=true, nullable=false) private String artifact; @Column(name = "type", nullable=false) private String type; @Column(name = "assertion", nullable=false) @Lob private byte [] assertion; @Column(name = "timestamp", nullable=false) Date timestamp; public String getArtifact() { return artifact; } public void setArtifact(String artifact) { this.artifact = artifact; } public String getType() { return type; } public void setType(String type) { this.type = type; } public byte[] getAssertion() { return assertion; } public void setAssertion(byte[] assertion) { this.assertion = assertion; } public Date getDatatime() { return timestamp; } public void setDatatime(Date datatime) { this.timestamp = datatime; } public long getId() { return id; } public void setId(long id) { this.id = id; } }