美文网首页
spring-hibernate注解

spring-hibernate注解

作者: 写java的逗比叫z1 | 来源:发表于2016-12-09 16:33 被阅读0次

    实体类上的一些注解


    标记在类上的注解

    • @Entity指明这是一个实体bean

    • @Table指定要映射的数据库表, name指定映射表的表名, 缺省为类名

    • @DynamicInsert
      @DynamicUpdate
      生成动态SQL语句, 即在插入和修改数据的时候, 语句中只包括要插入或者修改的字段.


    标记在属性上的注解

    • @Id将该属性定义为主键
    • @GenericGenerator声明了一个hibernate的主键生成策略, name指定生成器名称, strategy指定具体生成器的类名
    • @GeneratedValue声明了主键生成策略, generator指定生成主键使用的生成器
    • @Length指定字段长度, min最小长度, max最大长度
    • @Column表示实体类属性和表中字段对应关系
    • name定义被标注字段在数据库表中锁对应字段的名称
    • length表示字段的长度, 只有字段是String类型时才有效
    • unique表示该字段是否是唯一,默认为false
    • nullable表示该字段属性是否可以为null值, 默认为true
    • insertable表示在使用insert插入数据时, 是否需要插入该字段的值
    • updatable表示使用update插入数据时, 是否需要更新该字段的值(insertable和updatable一般多用于只读的属性, 例如主键和外键等, 这些字段的值通常都是自动生成的)
    • colunmDefinition表示创建表时, 该字段创建的SQL语句, 一般用于通过Entity生成表定义时使用.(如果表已经创建,, 该属性没有必要使用)
    • table定义了包含当前字段的表名
    • precision和scale表示字段的精度,precision表示数值的总长度,scale表示小数部分所占的位数
    • @OneToOne设置一对一关联.cascade有5个值, 分别是CascadeType.PERSIST(级联新建), CasecadeType.REMOVE(级联删除), CasecadeType.REFRESH(级联刷新), CascadeType.MERGE(级联更新), CasecadeType.ALL(全部四项).
    • @OneToMany设置一对多关联. cascade指定关联级别. fetch指定是否延迟加载, FetchType.LAZY表示延迟加载, FetchType.EAGER表示立即加载
    • @JoinColumn和@Column的属性相似, 这个注解用于表示表和表之间的关系
    • @Transient该属性不会映射到表中的字段

    相关文章

      网友评论

          本文标题:spring-hibernate注解

          本文链接:https://www.haomeiwen.com/subject/vrzemttx.html