首先:java基础很重要的,真的,选一本好的java书,好好的学习钻研,然后还是继续学了,主要的步骤就是:
1:J2SE
面向对象-封装、继承、多态、内存的分析、递归、集合类、泛型、自动打包与解包、
Annotation、IO 、多线程、线程同步 、TCP/UDP 、AWT、事件模型、匿名类、
正则表达式、反射机制
2:数据库(Oracle或者MySQL)
SQL语句、多表连接,内外连接, 子查询等、管理表、视图、索引、序列、约束等、
树状结构存储、存储过程、触发器、数据库设计三范式、
3:JDBC
JDBC基础、连接池 、树状结构存储与展现、DataSource & RowSet 、JDBC连接Oracle及MySQL
4:HTML、CSS、javascript(做后台程序员了解即可)
html、css、javascript基础语法、JavaScript Form判断、Dom编程基础(事件处理等)、
JS常用效果如TreeView、下拉联动等、JS学习方法 、JS调试方法
DreamWeaver初步(建立HTML、Table、Form、CSS)等
5:Servlet & JSP
tomcat基础 、servlet基础 、webxml配置基础、web application的结构 、servlet生命周期
request response等常用方法 、ServletContext类 、>
多对多的关系会生成一张中间表来建立关联,可以对中间表进行配置,以达到满意的效果!
@JoinTable描述了多对多关系的数据表关系。name属性指定中间表名称,joinColumns定义中间表与Teacher表的外键关系。
中间表tea_stu的tea_id列是Teacher表的主键列对应的外键列,inverseJoinColumns定义了中间表与另外一端(Student)的外键关系。
执行了11条SQL,先插入老师的信息,再插入学生的信息,再更新中间表的信息(学生与老师的关系)。
当没有去使用list集合时,此时并没有去执行查询list集合数据,说明是延迟加载!
小结:
1配置单向多对多的关系时,只需要使用注解@manyTomany
2多对多会生成中间表来维护双方的关系
3需要重新配置中间表的信息时,需要使用注解@JoinTable(name="中间表名",joinColumns = @JoinColumn(name = "当前表的外键名"),inverseJoinColumns=@JoinColumn(name = "关联表的外键名"))。
4添加数据时,都会发送大量的SQL,不仅要添加两张表的数据,还要添加中间表的关系,所以效率低。
最近用jpa自定义sql进行分页,页面上支持多条件筛选查询,所以就需要在自定义sql中加判断,string类型和long类型的判断方式
最扯淡的就是集合加判断,我百度了好久,都没有找到合适的答案,最后的解决方法就是dao层写了两个方法,在调用的时候判断
如果有更好的方法请评论!
1 JSON字符串中含有我们并不需要的字段那么当对应的实体类中不含有该字段时,会抛出一个异常,告诉你有些字段没有在实体类中找到。解决办法很简单,在声明ObjectMapper之后,加上代码:
2objectMapperconfigure(DeserializationFeatureFAIL_ON_UNKNOWN_PROPERTIES, false);
以上就是关于Spring Data JPA 多表查询怎么返回特定封装的DTO全部的内容,包括:Spring Data JPA 多表查询怎么返回特定封装的DTO、springboot jpa自定义查询、Jpa之关联对象(单向多对多)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)