- @Entity --声明为一个实体bean
- @Table(name="promotion_info") --为实体bean映射指定表(表名="promotion_info)
- @Id --声明了该实体bean的标识属性
- @GeneratedValue --可以定义标识字段的生成策略.
- @Transient --将忽略这些字段和属性,不用持久化到数据库
- @Column(name="promotion_remark")--声明列(字段名="promotion_total") 属性还包括(length=200等)
- @Temporal(TemporalType.TIMESTAMP)--声明时间格式
- @Enumerated --声明枚举
- @Version --声明添加对乐观锁定的支持
- @OneToOne --可以建立实体bean之间的一对一的关联
- @OneToMany --可以建立实体bean之间的一对多的关联
- @ManyToOne --可以建立实体bean之间的多对一的关联
- @ManyToMany --可以建立实体bean之间的多对多的关联
- @Formula --一个SQL表达式,这种属性是只读的,不在数据库生成属性(可以使用sum、average、max等)
@Entity --声明为一个实体bean
@Table(name="promotion_info") --为实体bean映射指定表(表名="promotion_info)
@Id --声明了该实体bean的标识属性
@GeneratedValue --可以定义标识字段的生成策略.
@Transient --将忽略这些字段和属性,不用持久化到数据库
@Column(name="promotion_remark")--声明列(字段名="promotion_total") 属性还包括(length=200等)
@Temporal(TemporalType.TIMESTAMP)--声明时间格式
@Enumerated --声明枚举
@Version --声明添加对乐观锁定的支持
@OneToOne --可以建立实体bean之间的一对一的关联
@OneToMany --可以建立实体bean之间的一对多的关联
@ManyToOne --可以建立实体bean之间的多对一的关联
@ManyToMany --可以建立实体bean之间的多对多的关联
@Formula --一个SQL表达式,这种属性是只读的,不在数据库生成属性(可以使用sum、average、max等)
以上是基本常用注解,下面是例子说明
- @Entity
- @Table(name="promotion_info")
- public class Promotion implements Serializable {
-
-
- @Id
- @GeneratedValue(strategy = GenerationType.AUTO)
- private Long id;
-
- @Column(name="group_start_amount")
- private Integer groupStartAmount=0;
-
- @Column(name="promotion_remark",length=200)
-
- private String remark;
-
-
-
- @Temporal(TemporalType.TIMESTAMP)
- @Column(name="start_time")
- private Date startTime;
-
-
- public static enum DisplayType {
- 显示,隐藏
- }
- @Enumerated(value = EnumType.ORDINAL)
- private DisplayType displayType = DisplayType.显示;
-
- @Version
- private Integer version;
-
-
-
-
- @ManyToOne(cascade = {CascadeType.PERSIST,CascadeType.MERGE},fetch = FetchType.LAZY)
- private PromotionGroup promotionGroup;
-
-
-
-
-
- @ManyToMany(cascade = {CascadeType.PERSIST,CascadeType.MERGE})
- @JoinTable(name="promotion_largess",joinColumns={@JoinColumn(name="promotion_id")},inverseJoinColumns={@JoinColumn(name="largess_id")})
- private Set<Largess> largess;
-
-
-
- }
- @Entity
- @Table(name="promotion_group")
- public class PromotionGroup implements Serializable {
- @Id
- @GeneratedValue(strategy = GenerationType.AUTO)
- private Long id;
-
-
- @OneToMany(mappedBy="promotionGroup",cascade=CascadeType.ALL)
- private List<Promotion> promotion;
-
-
- }
- @Entity
- @Table(name="largess")
- public class Largess implements Serializable {
- @Id
- @GeneratedValue(strategy = GenerationType.AUTO)
- private Long id;
-
-
-
-
- @Formula(select max(la.id) from largess as la)
- private int maxId;
-
- @Formula(select COUNT(la.id) from largess la)
- private int count;
-
- @Transient
- private String img
-
-
- }
转自:http://bask.javaeye.com/blog/212632