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关联映射注解
作者:习惯沉淀
如果文中有误或对本文有不同的见解,欢迎在评论区留言。
如果觉得文章对你有帮助,请点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
扫码关注一线码农的学习见闻与思考。
回复"大数据","微服务","架构师","面试总结",获取更多学习资源!