zoukankan      html  css  js  c++  java
  • Hibernate

    除了使用XML配置来映射对象和数据库表,还可以使用注解来完成持久化。使用注解需要导入Hibernate Annotations扩展包

    @Entity -加在类的前面,将类声明为持久化类。

         -javax.Persistence.Entity :JPA的Entity,通用性好

         -org.hibernate.annotations.Entity :Hibernate的Entity,有Hibernate特有的功能,如dynamicUpdate, 可以作为JPAEntity的补充

    @Table -加在类的前面,为类声明关联的表名。如果表名和类名相同,可以省略。

       @Table(name="t_name")

    @Proxy -加在类的前面,修改类级的引索策略,默认是延迟加载 可以不写

       @Proxy(lazy=false) -改为立即加载

     @Column -

     如果属性名和对应的列名不同, 或者get/set方法对应的属性名不是列名, 需要加在属性前面,或者加在get/set方法前面。

    @ID

     加在主键的属性前面,或者加在get/set方法前面,补充属性:

      @GeneratedValue -主键自增策略

                @GeneratedValue(Strategy=GenerationType.Auto)

                 自定义SEQUENCE(ORALCE使用) 

                 @GeneratedValue(Strategy=GenerationType.Sequence, generator="seq_name")         

                 @SequenceGenerator(name="seq_name", sequenceName="SEQ_ID")//可以对序列生成的值进行调整

    @Transcient -加在属性前面,声明该属性不需要被持久化

    @ManyToOne-多对一(外键)关联属性

          @ManyToOne(targetEntity=class_name.class) 

          @JoinColumn(name="c_name") 多对一对应的外键列名

     @OneToMany -一对多关联属性

           @OneToMany(targetEntity=class_name.class,mappedBy="property_name",cascade={CascadeType.ALL})     

            如果Set没有加泛型,需要加targetEntity mappedBy是targetEntity中相关联的属性,并由它来维持外键关系

    @ManyToMany -多对多      

  • 相关阅读:
    7.16,7.18练习题
    Summer training(一)
    Correct Solution?
    [欢迎来怼] 团队第一周贡献分分配结果
    欢迎来怼—选题展示
    视频展示
    美工+文案展示
    作业要求20171015贡献分分配规则
    作业要求20170928-4 每周例行报告
    作业要求20170928-3 四则运算试题生成
  • 原文地址:https://www.cnblogs.com/yidan621/p/5246888.html
Copyright © 2011-2022 走看看