首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

hibernate 引文简谈

2012-10-28 
hibernate 注解简谈hibernate提供了hibernate annotation扩展包,它是用来替换复杂的hbm.xml文件,使得hiber

hibernate 注解简谈

hibernate提供了hibernate annotation扩展包,它是用来替换复杂的hbm.xml文件,使得hibernate程序开发大大简化

1. @Id 声明属性为主键


2. @GeneratedValue表示主键是自动生成策略,一般该注释和 @Id 一起使用


3. @Entity 任何?hibernte 映射对象都要有次注释


4. @Table(name = “tablename”) 类声明此对象映射到哪个表


5. @Column(name = “Name”,nullable=false,length=32) 声明数据 库字段和类属性对应关系


6. @Lob?声明字段为 Clob 或 Blob 类型

?

7. @OneToMany(mappedBy=”order”,cascade = CascadeType.ALL, fetch = FetchType.LAZY)
?? @OrderBy(value = “id ASC”)
?? 一对多声明,和 ORM 产品声明类似,一看就明白了。
?? @ManyToOne(cascade=CascadeType.REFRESH,optional=false)
?? @JoinColumn(name = “order_id”)
?? 声明为双向关联


8. @Temporal(value=TemporalType.DATE) 做日期类型转换。

?

9. @OneToOne(optional= true,cascade = CascadeType.ALL, mappedBy = “person”)
?? 一对一关联声明
?? @OneToOne(optional = false, cascade = CascadeType.REFRESH)
?? @JoinColumn(name = “Person_ID”, referencedColumnName = “personid”,unique = true)
?? 声明为双向关联

?

10. @ManyToMany(mappedBy= “students”)
?? 多对多关联声明。
? @ManyToMany(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
? @JoinTable(name = “Teacher_Student”,
??? joinColumns = {@JoinColumn(name = “Teacher_ID”, referencedColumnName = “teacherid”)},
??? inverseJoinColumns = {@JoinColumn(name = “Student_ID”, referencedColumnName =
??? “studentid”)})
?? 多对多关联一般都有个关联表,是这样声明的!

?

11. @Transiten表示此属性与表没有映射关系,是一个暂时的属性

?

12. @Cache(usage= CacheConcurrencyStrategy.READ_WRITE)表示此对象应用缓存

热点排行