| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 | import java.util.Date;import java.util.Set; import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.FetchType;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.JoinColumn;import javax.persistence.Lob;import javax.persistence.ManyToOne;import javax.persistence.OneToMany;import javax.persistence.OrderBy;import javax.persistence.SequenceGenerator;import javax.persistence.Table;import javax.persistence.Temporal;import javax.persistence.TemporalType;import javax.persistence.Transient;import javax.persistence.UniqueConstraint; import org.cyberjos.sylphie.render.Renderable;import org.hibernate.annotations.Cache;import org.hibernate.annotations.CacheConcurrencyStrategy; /** * This is an object that contains data related to the 'Post' table. * * @author Joseph S. Kuo * @version $Revision: 1.26 $, $Date: 2007/02/22 10:50:10 $ * @see BaseObject * @since 0.1a */@Entity@org.hibernate.annotations.Entity(dynamicUpdate = true)@Table(uniqueConstraints = @UniqueConstraint(columnNames = { "path"}))@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)@SequenceGenerator(name="POST_SEQ", sequenceName="post_id_seq")public class Post extends BaseObject implements Renderable{ /** * The name of the column 'id' in the table. */ public static final String PROP_ID = "id"; // a lot of PROP_xxx constants ... @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator="POST_SEQ") private Integer id; @Column(length = 300) private String path; @Transient private String link; private String title; @Lob @Column(nullable = true) private String content; @Temporal(TemporalType.TIMESTAMP) private Date postTime; @Column(nullable = true) private int viewTimes; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn private Level level; @ManyToOne @JoinColumn private Category category; @OneToMany(mappedBy = Referer.PROP_POST) @OrderBy(Referer.PROP_LINK_TIMES + ORDER_BY_DESC) private Set<Referer> referers; @OneToMany(mappedBy = Ping.PROP_POST) // @LazyCollection(LazyCollectionOption.TRUE) defaults to true @OrderBy(Ping.PROP_PING_TIME) private Set<Ping> pings; // a lot of fields ... // a lot of getter and setter methods ...} |