【Java开源代码栏目提醒】:本文主要为网学会员提供Book3.java,希望对需要Book3.java网友有所帮助,学习一下!
/* $Id$
*
* Copyright (c) Jing Ge.
*/
package com.h3book.penguin.examples.domain.c6;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import com.h3book.penguin.examples.domain.support.Person;
/**
* exmple for using @TableGenerator and @SequenceGenerator
*
* @author <a href="mailto:3710167@qq.com">Jing Ge</a>
* @version $Revision$
*/
@Entity
@TableGenerator(
name ="BEGenerator",
table="IDGEN_TABLE",
pkColumnName="BEIDGENERATOR",
pkColumnValue="BOOKID_GEN",
valueColumnName="GEN_VALUE",
initialValue=12345,
allocationSize=30
)
@SequenceGenerator(
name="BESEGEN",
sequenceName="BESEQUENCE",
initialValue=123)
public class Book3 implements Serializable //extends BusinessEntity
{
private String name;
private String description;
private Enum language;
private Date publish;
private byte[] cover;
private Person owner;
private int oid;
@Id
// activate it for using TABLE mode
@GeneratedValue(strategy=GenerationType.TABLE, generator="BEGenerator")
// activate it for using SEQUENCE mode
// @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="BESEGEN")
public int getOid() {
return oid;
}
public void setOid(int oid) {
this.oid = oid;
}
// @Column (name="BOOK_DESCRIPTION",length=250)
// @Basic(fetch = FetchType.LAZY)
public String getDescription()
{
return description;
}
public void setDescription(String description) {
this.description = description;
}
@Enumerated(value = EnumType.STRING)
public Enum getLanguage()
{
return language;
}
public void setLanguage(Enum language) {
this.language = language;
}
// @Column(name = "BOOK_NAME", length = 20, unique = true, nullable = false)
public String getName()
{
return name;
}
public void setName(String name) {
this.name = name;
}
// @Column (name="BOOK_PUBLISH")
public Date getPublish() {
return publish;
}
// @Temporal(value=TemporalType.TIMESTAMP)
public void setPublish(Date publish) {
this.publish = publish;
}
@Transient
public boolean isTransient()
{
return getOid() < 1;
}
@Basic(fetch = FetchType.LAZY)
@Lob
public byte[] getCover()
{
return cover;
}
public void setCover(byte[] cover) {
this.cover = cover;
}
@Embedded
@AttributeOverrides({
@AttributeOverride(name="firstName", column=@Column(name="owner_fName")),
@AttributeOverride(name="lastName", column=@Column(name="owner_lName"))}
)
public Person getOwner()
{
return owner;
}
public void setOwner(Person owner) {
this.owner = owner;
}
}