hibernate学习笔记四

来源:互联网 发布:博客套利软件 编辑:程序博客网 时间:2024/05/16 04:39
hibernate注解:相当于直接在实体类中注释,从而省去了xml的配置
@Entity //在class 类名上方定义 表示这是一个实体类,用于映射表
@Table   //在class 类名上方定义对应数据库表名  
       @Table(name = "product_")


以下注解都在getset方法上方定义:
@Id  
@GeneratedValue//数据库主键自动增长 不会重复  在主键对应属性上方定义@GeneratedValue(strategy = GenerationType.IDENTITY)


@Column  //属性列名   @Column(name = "id")不需要每条属性都加


 


修改过后  再修改hibernate.cfg.xml中的mapping resource
位mapping class


导入的包为javax包








hibernate里常用注解包括,类注解,属性注解,关系注解,其他的注解




类注解:@Entity 表示这是一个实体类,用于映射表
@Table(name = "product_") 表示这是一个类,映射到的表名:product_




属性注解:
@Id 表示这是主键
@GeneratedValue(strategy = GenerationType.IDENTITY) 表示自增长方式使用mysql自带的
@Column(name = "id") 表示映射到字段id






多对一注解:
 @ManyToOne
    @JoinColumn(name="cid") 
在相应的对应类的getset方法上定义




一对多注解:
@OneToMany 表示一对多,fetch=FetchType.EAGER 表示不进行延迟加载(FetchType.LAZY表示要进行延迟加载)
@JoinColumn(name="cid") 表示映射字段






多对多:
 @ManyToMany(cascade=CascadeType.ALL,fetch=FetchType.EAGER)
    @JoinTable(
            name="user_product",
            joinColumns=@JoinColumn(name="pid"),
            inverseJoinColumns=@JoinColumn(name="uid")
    )  












XML配置方式: 
优:容易编辑,配置比较集中,方便修改,在大业务量的系统里面,通过xml配置会方便后人理解整个系统的架构,修改之后直接重启应用即可 
缺:比较繁琐,配置形态丑陋, 配置文件过多的时候难以管理 
注解方式: 
优:方便,简洁,配置信息和 Java 代码放在一起,有助于增强程序的内聚性。 
缺:分散到各个class文件中,所以不宜维护, 修改之后你需要重新打包,发布,重启应用。 


个人体会: 小项目,参与人数不多,不复杂的用注解,开发快速。 复杂项目,多人交互,配置量大,维护复杂度高的,用配置文件。



关于hibernate注解,可以去搜索hibernate注解大全。

原创粉丝点击