@ResponseStatus(value=)

Hibernate
OneToOne:
使用optional=false,才能使用lazy
如果关联字段是当前表的主键,我试了不加optional=false,lazy也生效,如果不使用lazy, 默认会使用left out join 来查询

@Column(nullable=false)
is an instruction for generating the schema. The database column generated off the class will be marked not nullable in the actual database.
optional=false
is a runtime instruction. The primary functional thing it does is related to Lazy Loading. You can't lazy load a non-collection mapped entity unless you remember to set optional=false (because Hibernate doesn't know if there should be a proxy there or a null, unless you tell it nulls are impossible, so it can generate a proxy.)

Session:
长session应用性能影响并不大,如果不进行数据库操作,session不会获取jdbc连接, hibernate建议每个请求对应一次session
使用vo封装视图层需要的数据与openSessionInView各有优势,可以视情况使用,使用vo时,可以用Hibernate.initialize()或者用fetch查询出关联数据填充vo
使用ThreadLocalSessionContext策略,Hibernate的Session会随着getCurrentSession()方法自动打开,并随着事务提交自动关闭。
Session的打开关闭并意味着JDBC连接的打开关闭,创建Session时,并不会打开与数据库的连接,只有需要进行数据库操作时,才会获取JDBC连接
一级缓存是session级别,二级缓存将缓存所有访问过的实体,查询缓存缓存特定的数据

FetchMode:
不设置,默认为FetchMode.SELECT, 可以使用Lazy,会有n+1问题
FetchMode.JOIN - 采用外联,用一条sql取出关联数据,lazy无效
FetchMode.SUBSELECT- 生成两条sql, 第二条用in去查询关联数据
fetch_size - 设置批量查询的条数,和SUBSELECT类似,用in查询关联数据,生成多少sql取决于关联的数据量,默认是10,一般设置为50-100为佳
batch_size - 批量删除、更新、插入的量,一般设置为50-100为佳
max_fetch_depth - 外连接抓取深度,设置为0-3为佳

测试感觉OneToMany应用FetchMode.JOIN无效,需要进一步验证

Spring相关技术记录的更多相关文章

  1. 【JavaWeb】Spring相关错误记录

    Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: ...

  2. JavaScript对SVG进行操作的相关技术

    原文地址:http://www.ibm.com/developerworks/cn/xml/x-svgscript/   本文主要介绍在 SVG 中通过编程实现动态操作 SVG 图像的知识. SVG ...

  3. SAAS相关技术要点

    这篇文章本来是我们开发组内部用的一个小文档.因为我们公司以前没有做SAAS的经验,就成立了一个小组做一做这方面的技术前探,我是成员之一.这篇文档想从宏观的层面把开发一个SAAS应用所要用到的技术点稍微 ...

  4. MVC中Controller控制器相关技术

    第6章Controller相关技术 Controller(控制器)在ASP.NET MVC中负责控制所有客户端与服务器端的交互,并 且负责协调Model与View之间的数椐传递,是ASP.NET MV ...

  5. j2e应用相关技术

    j2e应用相关技术 轻量级j2e应用以传统的jsp作为变现层技术,以一系列开源框架作为MVC层,中间件,持久层解决方案,并将这些开源框架有机组合在一起,使得j2e具有高度的可扩展性,可维护性. ser ...

  6. selenium相关技术研究(从1.0-3.0)

    注: 以下内容引自http://www.cnblogs.com/hhudaqiang/p/6550135.html Selenium相关技术研究(从1.0-3.0) 好吧,最近看wxpython有点多 ...

  7. JavaEE之servlet相关技术

    相关技术:为了灵活实现的不同路径(/hello)执行不同的资源( HeIIoMyServlet)我们需要使用XML进行配置;为了限定XML内容,我们需要使用xml约束(DTD或schema);为了获得 ...

  8. GNN 相关资料记录;GCN 与 graph embedding 相关调研

    最近做了一些和gnn相关的工作,经常听到GCN 和 embedding 相关技术,感觉很是困惑,所以写下此博客,对相关知识进行索引和记录: 参考链接: https://www.toutiao.com/ ...

  9. spring security实现记录用户登录时间等信息

    目录 spring security实现记录用户登录时间等信息 一.原理分析 二.实现方式 2.1 自定义AuthenticationSuccessHandler实现类 2.2 在spring-sec ...

随机推荐

  1. Python全栈开发:web框架们

    Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Python的标准库外,其不依赖任何其他模块. 1 2 3 ...

  2. html--浮动高度塌陷问题

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  3. 阿里巴巴大数据产品最新特性介绍--机器学习PAI

    以下内容根据演讲视频以及PPT整理而成. 本次分享主要围绕以下五个方面: PAI产品简介 自定义算法上传 数加智能生态市场 AutoML2.0自动调参 AutoLearning自动学习 一.PAI产品 ...

  4. csps模拟67神炎皇,降雷皇,幻魔皇题解

    题面:https://www.cnblogs.com/Juve/articles/11648975.html 神炎皇: 打表找规律?和$\phi$有关? 答案就是$\sum\limits_{i=2}^ ...

  5. Ubuntu clion下载及激活

    1.下载 方法:去官网下载clion  https://www.jetbrains.com/clion/download/#section=linux 或者使用我上传的百度网盘链接: https:// ...

  6. MYSQL获取同时关注了某两个(或者N个)用户的用户

    使用redis的set类型数据的话会比较容易,但是业务场景就是在mysql里面,因此也需要思考解决方法 表结构: CREATE TABLE `table_name` ( `id` ) unsigned ...

  7. VS2010文件包含

    一. 关于iostream.h VS2010的iostream不加.h在后面(加.h的是旧版本),把iostream作为类,正确使用方法: #include<iostream> using ...

  8. 杂项-公司:Google

    ylbtech-杂项-公司:Google 谷歌公司(Google Inc.)成立于1998年9月4日,由拉里·佩奇和谢尔盖·布林共同创建,被公认为全球最大的搜索引擎公司.谷歌是一家位于美国的跨国科技企 ...

  9. 2016 CCPC网络选拔赛 部分题解

    HDU 5832 - A water problem 题意:有两颗星球,一年的长度分别为37天和173天.问第n天时它们是否为新年的第一天. 思路:显然  n 同时被37和173整除时,两种历法都在新 ...

  10. quartz任务调度基础: Job/Trigger/Schedule

    1.Quartz基本用法        参见官方说明:[Quartz Job Scheduler] 三大核心元素: Job:定义要执行的任务 triggers:任务触发策略 scheduler:关联j ...