hibernate注解note

@Id标识主键属性

  1.hibernate5.2 mysql5.7 不需要实现 serializable也可以?

  2.主键255的长度我生成了?

@GeneratedValue主键生成策略

  1.主键设置成string类型,并且@GeneratedValue(strategy=GenerationType.AUTO)这么设置是可以生成表的,,不过会生成两张表,其中一张是序列的表,只是不能手动赋值罢了,还有就是string作为主键并不用@Column(length=8)设置长度,实测并没有限制长度,只是数据库开销大了点,也是可以实现建表的?

  2.auto是主键由程序自动控制,identity才是主键自增长?

  3.@GenerateValue,我设置成auto, 他新建立了一个链表结构的 table ...?

@Embeddable嵌入类属性, 加到嵌入类的头上

  1.讲属性级别的@Embeddable注解的时候,没有在引用属性中标注@Embedded注解也是可以的,所以为什么还要用一下@Embedded注解呢?

@EmbeddedId嵌入式主键类实现复合主键(联合主键?)

  1.@EmbeddedId标到属性头上, @Embeddable标到复合主键类头上

  2.嵌入式主键类必须实现序列化接口, 必须含有默认的public无参构造方法, 必须覆盖equals和hashcode方法

@Transient表示并非一个到数据库表的字段的映射, ORM框架将忽略该属性(ORM框架默认一个属性为@BASIC)

=====================关联映射========================

实体间映射关系

一对一: 一个公民一个身份证号

一对多(多对一): 一个公民多个银行账号

多对多: 一个学生有多个老师, 一个老师有多个学生

参考另一篇:hibernate关联映射注解

猜你喜欢

转载自www.cnblogs.com/yadongliang/p/8965084.html