spring-hibernate注解

实体类上的一些注解


标记在类上的注解

  • @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该属性不会映射到表中的字段
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • JPA Java Persistence API----java持久化接口 Hibernate注解分类 类级别注解...
    蕊er阅读 577评论 0 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,923评论 18 139
  • 前面的相关文章中,我们已经介绍了使用XML配置文件映射实体类及其各种类型的属性的相关知识。然而不论是时代的潮流还是...
    Single_YAM阅读 6,032评论 2 4
  • 1.类级别注解 @Entity映射实体类 @Table映射数句库表 @Entity(name="tableName...
    苗義阅读 1,148评论 0 47
  • 你予我妥贴、温柔、呵护,时时处处;你成了我的灵魂,我的肌体,我的发肤。 你是幼时泥土里新萌的嫩绿,你是贫寒时的榆钱...
    兰兮阅读 896评论 3 3