Hibernate annotation 使用简介
来源:互联网 发布:foxmail邮箱端口 编辑:程序博客网 时间:2024/05/16 19:04
- @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之间的多对多的关联
@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之间的多对多的关联
以上是基本常用注解,下面是例子说明 - @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;
-
- @Transient
- private String img
-
-
- }