Springboot + JPA 个人配置总结

Springboot + JPA配置项目总结:本博客纯属个人笔记,提醒自己用:数据库搭建的依赖?JPA底层是机遇herbenate的,herbenate底层是基于JDBC的。gradle中要引入如下依赖:implementation ‘org.hibernate:hibernate-core’分层怎么分?demo使用jpa还需要用flyway吗?flyway是控制版本用的,jpa在使用注解的时候也会往数据库里面构建对应的table,这样的话flyway还需要吗?尝试一下先用fly
摘要由CSDN通过智能技术生成

Springboot + JPA配置项目总结:

本博客纯属个人笔记,提醒自己用:

  1. 数据库搭建的依赖?
    JPA底层是机遇herbenate的,herbenate底层是基于JDBC的。gradle中要引入如下依赖:
    implementation ‘org.hibernate:hibernate-core’

  2. 分层怎么分?
    demo

  3. 使用jpa还需要用flyway吗?flyway是控制版本用的,jpa在使用注解的时候也会往数据库里面构建对应的table,这样的话flyway还需要吗?
    尝试一下先用flyway在数据库里面创建对应的table,再用jpa试试。
    尝试过后发现,我在flyway脚本中设置默认值不会生效,但是notnull这种判断类型是否为空的会生效。比如,我在创建student的时候,数据库里面有一个属性为grouped not null default 0, 创建的时候如果不传这个值,就会报grouped不能为空的错。
    奇怪的是,我之前创建的时候一直都是null,之前能成功,改了下po的名称一下子就报错了。(可能是属性和sql里面的名称需要对齐?,但是也应该报not null的错误啊)
    解决办法: 直接在po里面赋值。但是仍然没有解决最根本的问题,jpa和flyway的工作有时候会重叠,谁的优先级更高?我觉得是用了jpa都没必要再用flyway来控制版本了。

  4. jpa怎么自定义查询?
    自带的一些方法 或者 JPQL

  5. cannot find da.migration
    check compact file name

  6. @Id注解,标明主键

  7. @Entity + @Table 指明对应sql哪一个

  8. Not a managed type
    百度的方法说是没有开启扫描,检查controller->service->reposiroty->entity是否都开启扫描了。开启了以后还是报错,后来发现是Entity传给JpaRepository的类型写错了,但是把注释全是删除了以后还是可以运行,不知道是为什么?

  9. 401错误
    demo目前不设计SpringSecurity-就把相关的依赖删了

  10. consider defining a bean in configuration?
    扫描了正确的位置,却没有把repository扫描进去

  11. JPA的Repository层需要继承JpaRepository,并且把ID和对应的实体类传进去。

  12. Repeated column in mapping for collection: com.meds.infrastructure.entity.ClassInfoPo.teachers column: id
    定位到问题出现在了classInfoPo上。JoinTable中前者的id是本表的id,后者的id是关联表的id。我当时都用了id,就重复了。

  13. class和teacher的映射关系怎么体现?
    两个表设置了关联关系之后,会生成一个中间表,携带了两者的id。问题来了,如果我想通过teacher的id来查询一个teacher对应的class的id和name怎么查?

  14. 每次重启后数据库数据就被清空了
    ddl-auto:create----每次运行该程序,没有表格会新建表格,表内有数据会清空。

ddl-auto:create-drop----每次程序结束的时候会清空表。

ddl-auto:update----每次运行程序,没有表格会新建表格,表内有数据不会清空,只会更新。

ddl-auto:validate----运行程序会校验数据与数据库的字段类型是否相同,不同会报错。
参考: https://blog.csdn.net/qq_31279347/article/details/91125414

  1. 查询没有分组的学生信息失败

是不是因为is_to_class = ?的问题.

命名应该是没有问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值