mysql 懒加载数据_jpa如何懒加载大字段,懒加载之后又如何获取懒加载字段

前言:对于大字段,我们在查询列表的时候不需要查询,但是修改的时候有需要展示大字段内容,怎么办

问1.jpa如何懒加载大字段?即查询列表的时候不查询出来

问2.懒加载之后又如何获取懒加载字段。比如,在后台修改的实体的时候,需要展示内容,如何获取detail内容(懒加载,它没有加载)

1.jpa如何懒加载大字段?detail是我的大字段

@Entity

public class ParkDynamics extends TemporalEntity implements FieldHandled{},实现FieldHandled

具体实体代码如下

@Entitypublic classParkDynamics extends TemporalEntity implements FieldHandled {private String title; //标题

private String content; //内容

private String status; //状态 (0:不可见;1:可见)

private String remarks; //备注

privateString creatorName;privateString updatorName;

@Lob

@Basic(fetch=FetchType.LAZY)

@Column(name="detail")private String detail;//图文交替型内容(用文本编辑器)

@OneToMany(mappedBy= "parkDynamics",fetch =FetchType.EAGER)private Set parkDynamicsFiles = new HashSet<>(); //公园动态文件

publicString getTitle() {returntitle;

}public voidsetTitle(String title) {this.title =title;

}publicString getContent() {returncontent;

}public voidsetContent(String content) {this.content =content;

}publicString getRemarks() {returnremarks;

}public voidsetRemarks(String remarks) {this.remarks =remarks;

}public String getCreatorName() { returncreatorName; }public void setCreatorName(String creatorName) { this.creatorName =creatorName; }public String getUpdatorName() { returnupdatorName; }public void setUpdatorName(String updatorName) { this.updatorName =updatorName; }publicString getStatus() {returnstatus;

}public voidsetStatus(String status) {this.status =status;

}public Set getParkDynamicsFiles() { returnparkDynamicsFiles; }public void setParkDynamicsFiles(Set parkDynamicsFiles) { this.parkDynamicsFiles =parkDynamicsFiles; }publicString getDetail() {if (fieldHandler != null) {return (String) fieldHandler.readObject(this, "detail", detail);

}return null;

}public voidsetDetail(String detail) {if(detail == null){if(fieldHandler!=null){

fieldHandler.writeObject(this, "detail", this.detail, detail);return;

}

}this.detail =detail;

}

@Transientprivate FieldHandler fieldHandler;//用于延迟加载表字段,关联对象延迟加载的话无需此技术

@JsonIgnorepublicFieldHandler getFieldHandler() {returnfieldHandler;

}public voidsetFieldHandler(FieldHandler fieldHandler) {this.fieldHandler =fieldHandler;

}

}

2.对于懒加载的字段,如何获取其内容呢

关键代码如下:(String) fieldHandler.readObject(this, "detail ", detail);,相当于去读对象的detail属性,然后会真是的加载detail的内容。this代表实体对象,这样实体对象就detail就有内容了。

但是实际如果不是在一个事务中是不行的。也就是获得实体和使实体去加载懒加载的字段不在同一个事务中,你执行(String) fieldHandler.readObject(this, "detail ", detail)是会报错的。

也就有了如下的代码,对需要获取实体全部内容的getById和getByType进行了封装,放在一个事务service类中

@Transactional

@Service

public class AnimalClassServiceImpl implements AnimalClassService{

@Autowired

private AnimalClassRepository animalClassRepository;

@Override

public AnimalClass getById(Long id) {

AnimalClass animalClass = animalClassRepository.getById(id);

animalClass.setContent(null);

return animalClass;

}

@Override

public AnimalClass getFirstByType(String type) {

AnimalClass animalClass = animalClassRepository.getFirstByType(type);

animalClass.setContent(null);

return animalClass;

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/497985.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么说特斯拉研发自动驾驶AI芯片应该引起注意?

来源&#xff1a;36Kr 概要&#xff1a;对于特斯拉而言&#xff0c;研发这款芯片配套算法本质上还是对率先将自动驾驶汽车商业化节点的争夺。 特斯拉Model 3的量产问题仍未彻底解决&#xff0c;CEO Elon Musk又抛出了自研自动驾驶芯片的重磅新闻。 Elon Musk和特斯拉Autopilo…

displaytag 相关

1、获取某列&#xff08;如&#xff1a; id&#xff09;的值 struts 2: <display:table name"usersInfo" id"tabrow" pagesize"${pageSize}" requestURI"web/sys/userManager/UserQuery.action" class"scroll_its" styl…

stm32usb做虚拟串口和键盘_关于stm32f103的USB虚拟串口程序移植

手边有个项目要用到USB传数据到主机&#xff0c;虽然有很多种方式&#xff0c;但最后还是选择了USB虚拟串口模式&#xff0c;将数据上传至pc端&#xff1b;然而这就涉及到了移植问题&#xff0c;在keil下官方已经给出了一个完整的USB TO VCOM的demo&#xff0c;但在我的主机上装…

4篇Nature同时揭示DNA自组装技术,离人造生命又近了一步

来源&#xff1a;刘盼科学网博客 概要&#xff1a; 科学家一直渴望利用自组装来构建人造物体&#xff0c;以达到细胞或细胞器的尺寸和复杂性&#xff0c;以便为研究&#xff0c;工程和医学应用构建合成的细胞机器。 iNature&#xff1a;自组装过程以各种形式存在于自然界中&…

均方距离计算公式_均值、方差、均方值、均方差计算

1、均值 均值表示信号中直流分量的大小,用E(x)表示。对于高斯白噪声信号而言,它的均值为0,所以它只有交流分量。 2、均值的平方 均值的平方,用{E(x)}^2表示,它表示的是信号中直流分量的功率。 3、均方值 均方值表示信号平方后的均值,用E(x^2)表示。均方值表示信号的平均功…

推动大数据和AI应用场景的落地,加速实现与产业融合。

来源&#xff1a;猎云网 概要&#xff1a;在新时代下&#xff0c;如何利用大数据与人工智能技术&#xff0c;大幅提升数据效率与业务决策&#xff0c;化数据新技术力为业务新能力&#xff0c;化业务新能力为商业新物种&#xff0c;成为各行各业在未来生存下去的关键。 今日&am…

sql无法写入mysql_无法通过写入mysql数据库pandas.to\u sql使用sqlalchemy,但不能通过没有pandas的sqlalchemy...

我正在尝试将数据帧写入MySQL表。这是我的代码&#xff1a;import pandas as pdimport sqlalchemyconnectString"""mysqlpymysql://userName:passWordhostIP/schema"""engine sqlalchemy.create_engine(connnectString)connectionengine.connec…

web.config 指定的默认页失效

web.config 指定的默认页失效 解决方法&#xff1a; IIS 配置如下&#xff1a;

CCF大数据专家委:2018年大数据发展趋势预测

来源&#xff1a;大潘点点 概要&#xff1a;2018年大数据发展趋势预测 1、机器学习继续成为大数据智能分析的核心技术 2、人工智能和脑科学相结合&#xff0c;成为大数据分析领域的热点 3、数据科学带动多学科融合 4、数据学科虽然兴起&#xff0c;但是学科突破进展缓慢 5、推动…

connectionstring mysql_Entity Framework 6 自定义连接字符串ConnectionString连接MySQL

在开始介绍之前&#xff0c;首先来看看官方对Entity Framework的解释&#xff1a;Entity Framework (EF) is an object-relational mapper that enables .NET developers to work with relational data using domain-specific objects. It eliminates the need for most of the…

在SQL Server中用好模糊查询指令LIKE

来源&#xff1a;http://www.itpapa.com/forum.php?modviewthread&tid719 查询是SQL Server中重要的功能&#xff0c;而在查询中将Like用上&#xff0c;可以搜索到一些意想不到的结果和效果&#xff0c;like的神奇之处在于其提供的模糊查询功能&#xff0c;通过与它相匹配…

学界 | OpenAI 发布稀疏计算内核,更宽更深的网络,一样的计算开销

作者&#xff1a;杨晓凡 概要&#xff1a;OpenAI 的研究人员们近日发布了一个高度优化的 GPU 计算内核&#xff0c;它可以支持一种几乎没被人们探索过的神经网络架构&#xff1a;带有稀疏块权重的网络。 OpenAI 的研究人员们近日发布了一个高度优化的 GPU 计算内核&#xff0…

java三态_Java中对象的三种状态

Java中的对象的三种状态是和垃圾回收紧密相关的&#xff0c;因此有必要深究。状态一&#xff1a;可触及态&#xff1a;从根节点开始&#xff0c;可以搜索到这个对象&#xff0c;也就是可以访问到这个对象&#xff0c;也有人将其称为可达状态。状态二&#xff1a;可复活态&#…

Java 实现sha_加密算法 MD5 和 SHA 的 JAVA 实现

首先先简单的介绍一下MD5 和 SHA 算法然后看一下在 java.security.MessageDigest (信息摘要包下) 如何分别实现 md5 加密 和 sha 加密最后在看一下 使用httpclient包 依赖下的 commons-codec-org. 包 下的apache.commons.codec.digest.DigestUtils 这个工具类 是如何快速…

java 操作db2_java操作DB2,增删改查

//:Db2ConnTest/***功能&#xff1a;实现连接DB2数据库&#xff0c;并实现基本获取数据功能*jiangbin*/import java.sql.*;import java.util.*;SuppressWarnings("unchecked")public class Db2ConnTest{Connection conn;Statement stat;ResultSet rs;ResultSetMetaDa…

java会员充值算法_[蓝桥杯][算法训练VIP]数的统计-题解(Java代码)详解

解题思路:注意事项:参考代码:import java.util.HashMap;import java.util.Map;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scnew Scanner(System.in);int nsc.nextInt();int ns[]new int[n];for (int i 0; i ns[i]sc.next…

java loadonstartup_java的web配置文件的“load-on-startup0/load-on-startup”一个问题

展开全部load-on-startup标记容器是否32313133353236313431303231363533e78988e69d8331333365643662在启动的时候实例化并调用其init()方法的优先级。它的值表示 servlet应该被载入的顺序。当值为0或者大于0时&#xff0c;表示容器在应用启动时就加载并初始化这个servlet。.如…

java隋唐演义游戏下载_JAVA多线程

第一节 多线程背景知识介绍多线程作用&#xff1a;可以帮助简化模型&#xff0c;还能编写强大的代码。进程与线程的基础概念&#xff1a;Eclipse QQ都属于进程。进程是程序(任务)的执行过程&#xff0c;它持有资源(共享内存、共享文件)和线程。它包含两点&#xff1a;1.动态性&…

friso mysql_非sqlite和nigix的开源c项目

一。friso中文分词器Friso是使用c语言开发的一款高性能中文分词器&#xff0c;使用流行的mmseg算法实现。完全基于模块化设计和实现&#xff0c;可以很方便的植入到其他程序中&#xff0c;例如&#xff1a;MySQL&#xff0c;PHP等。同时支持对UTF-8/GBK编码的切分。类Python语法…