springdata-jpa-hibernate-03
多表关联操作
首先加上这个lombok依赖,可以使代码更加简洁
一对一
account类
customerRepository接口
测试
一对多
message类
测试
多对一
在上面一对多的基础上加上这句代码就行
MessageRepository接口
测试:
多对多
1. 配置管理关系
@ManyToMany
@JoinColumn(name=“customer_id”)
2. 配置关联操作:
3.测试
乐观锁
hibernate
防并发修改
审计
如何使用审计功能
首先声明实体类,需要在类上加上注解@EntityListeners(AuditingEntityListener.class),其次在application启动类中加上注解EnableJpaAuditing,同时在需要的字段上加上@CreatedDate、@CreatedBy、@LastModifiedDate、@LastModifiedBy等注解。
这个时候,在jpa.save方法被调用的时候,时间字段会自动设置并插入数据库,但是CreatedBy和LastModifiedBy并没有赋值,因为需要
实现AuditorAware接口来返回你需要插入的值。
1.编写AuditorAware
2.在实体类中声明@EntityListeners和相应的注解
考虑到所有实体都需要声明,就写在BaseEntityModel 中
3.在Application 中启用审计@EnableJpaAuditing
经过测试如果你的实体类上面的多个字段使用了@CreatedBy这样的注解,只会有一个生效,也就是说在一次请求中,只会被调用一次。
总结:这里面涉及到的知识基本上都是hibernate的知识。