Payload.java
package com.tradecloud.domain.model.messagestore;
import com.tradecloud.common.base.PersistenceBase;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.hibernate.annotations.Type;
import javax.persistence.*;
/**
* Contains the raw message payload.
* <p>
* Lob: http://relation.to/15492.lace
* <p>
* <p>
* http://www.shredzone.de/cilla/page/299/string-
* lobs-on-postgresql-with-hibernate-36.html
* <p>
* https://hibernate.onjira.com/browse/HHH-6105
*/
@Entity
@Table(name = "payload")
@Access(AccessType.FIELD)
public class Payload extends PersistenceBase {
private static final long serialVersionUID = 1L;
/**
* RAW payload.
*/
@Lob
@Basic(fetch = FetchType.LAZY)
@Type(type = "org.hibernate.type.TextType")
private String text;
@SuppressWarnings("unused")
private Payload() {
}
public Payload(final String text) {
this.text = text;
}
/**
* @return the text
*/
public String getText() {
return text;
}
@Override
public String toString() {
return "Payload [text=" + text + "]";
}
@Override
public boolean equals(final Object other) {
if (!(other instanceof Payload)) {
return false;
}
Payload castOther = (Payload) other;
return new EqualsBuilder().append(text, castOther.text).isEquals();
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(text).toHashCode();
}
}