spring-hibernate注解
实体类上的一些注解 标记在类上的注解
- @Entity指明这是一个实体bean
- @Table指定要映射的数据库表, name指定映射表的表名, 缺省为类名
- 【spring-hibernate注解】@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该属性不会映射到表中的字段
推荐阅读
- mybatis查询到了数据|mybatis查询到了数据,但是实体类个别字段为null问题
- @Autowired注解|@Autowired注解 --required a single bean, but 2 were found出现的原因以及解决方法
- 创建第一个hibernate项目
- SpringBoot利用切面注解及反射实现事件监听功能
- 【技术白皮书】第三章(文字表格信息抽取模型介绍——实体抽取方法:NER模型(上))
- @Temporal|@Temporal 注解使用
- SpringMVC注解
- SpringBoot|SpringBoot 根据 注解和切面(AOP) 实时验证用户登陆状态
- java注解判断字段是否存在_SpringBoot 拦截器和自定义注解判断请求是否合法
- Spring纯注解开发模式让开发简化更简化