我的实体加载速度超慢有什么问题吗?

2024-03-10

我有以下实体:

@Entity
@Table(name="\"Order\"")
public class Order {
    @Id
    @SequenceGenerator(name="order_id_seq",
            sequenceName="order_id_seq",
            allocationSize=1)
    @GeneratedValue(strategy = GenerationType.SEQUENCE,
            generator="order_id_seq")
    private long id;
    @OneToOne
    private Customer customerDetails;
    @OneToOne
    private ProductDetails productDetails;
    @OneToOne
    private TransportDetails transportDetails;
    @OneToOne
    private OtherDetails otherDetails;
    @OneToOne
    private OtherDetails otherDetails2;
    @OneToOne
    private OtherDetails3 otherDetails3;

    private LocalDateTime dateOrderPlaced;

    private LocalDateTime dateOrderPaid;

    private Float totalPrice;

    @Size(max = 1000)
    private String orderComment;
}

现在,每当我第一次运行此查询时,都会使用以下存储库:

public interface OrderRepository extends CrudRepository<Order, Long> {

    @Transactional
    @Modifying
    @Query("UPDATE Order o SET o.totalPrice = (:price) WHERE o.id= (:id)")
    void updateTotalPrice(@Param("id") Long id, @Param("price") Float price);

    @Override
    List<Order> findAll();

    @Override
    Order save(@Valid Order order);
}

执行以下命令大约需要 5 秒:

public List<OrderDto> getOrders(){
    return orderDtoMapper.fromDomain(orderRepository.findAll());
}

Where:

public List<OrderDto> fromDomain(List<Order> orders){
    return orders
            .stream()
            .map(order -> fromDomain(order))
            .collect(Collectors.toList());
}

public OrderDto fromDomain(Order order){
    OrderDto orderDto = new OrderDto();
    orderDto.setTransportDetails(transportDetailsDtoMapper.fromDomain(order.getTransportDetails()));
    orderDto.setTotalPrice(order.getTotalPrice());
    orderDto.setDateOrderPaid(order.getDateOrderPaid());
    orderDto.setDateOrderPlaced(order.getDateOrderPlaced());
    orderDto.setId(order.getId());

    return orderDto;
}

NOTE

我的表中只有 3 个实体...


尝试添加"mappedBy"值在@OneToOne注释。事实上,看起来你有问题:

    @OneToOne
    private OtherDetails otherDetails;
    @OneToOne
    private OtherDetails otherDetails2;
    @OneToOne
    private OtherDetails3 otherDetails3;

不知道为什么有两个类 OtherDetails 和一个类 OtherDetails3,但看起来你应该这样做

@OneToMany(...)
List<OtherDetails> otherDetails

而且,可能是您拥有太多数据。启用你的hibernate日志,并直接在你的sql(据我所知是oracle)服务器中执行查询。可能是sql server没有足够的内存用于结果集,并且它执行写入磁盘操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我的实体加载速度超慢有什么问题吗? 的相关文章

  • Java - 如何将特殊字符放入字符串中

    Java 似乎有很好的字符串处理能力 尽管如此 我还是遇到了最简单的问题 我需要动态字符串 它们在运行时更改 因此字符串类型不是一个好的选择 因为它们是不可变的 所以我使用字符数组 设置起来有点痛苦 但至少它们是可以修改的 我想创建一个字符
  • 无法在类对象的 ArrayList 中存储值。 (代码已编辑)

    这基本上是一个 Java 代码转换器 它涉及一个 GUI 让用户输入类类型 名称和方法 为了存储值 我创建了一个类VirtualClass与ArrayList
  • jvm 次要版本与编译器次要版本

    当运行使用具有相同主要版本但次要版本高于 JVM 的 JDK 编译的类时 JVM 会抛出异常吗 JDK 版本并不重要 类文件格式版本 http blogs oracle com darcy entry source target class
  • 无法使用 json 架构验证器根据预定义的 yaml 文件验证查询参数

    我需要根据预定义的 yaml 文件架构验证查询参数的架构 因此我使用 json 架构验证器 验证如何失败 我正在执行以下步骤 填充参数和相应的架构 final List
  • 使用 ChannelExec 的命令未执行 - Jsch

    我正在使用 Jsch 在服务器中创建一个文件并执行一些命令 对于文件创建 它工作正常 但是对于命令执行 则不然 它保持状态 1 仍在处理它 并永远保持该状态 这种情况发生在 shell 执行或我尝试成为 root 时 请按照以下方法操作 p
  • Spring3/Hibernate3/TestNG:有些测试给出 LazyInitializationException,有些则没有

    前言 我在单元测试中遇到了 LazyInitializationException 的问题 而且我很难理解它 正如你从我的问题中看到的那样Spring 中的数据库会话 https stackoverflow com questions 13
  • 尝试使用 JRI 将 R 与我的 Java 应用程序集成,但出现错误。谁能解释一下原因和解决办法吗?

    我需要将 Java 与 R 集成来运行一些数学命令并使用 R 的功能进行绘图 以下部分代码给出了错误 public static void main String args HelloRWorld r new HelloRWorld r h
  • JTable 和 JScrollpane 大小的问题

    我有一个JScrollPane with a JTable在里面 在里面JTable我最初有 3 行 稍后添加行 默认JTable我的 3 行很难看 因为JScrollPane calls getPreferredScrollableVie
  • 所有平台上的java

    如果您想用 java 为 Windows Mac 和 Linux 编写桌面应用程序 那么所有这些代码都相同吗 您只需更改 GUI 即可使 Windows 应用程序更像 Windows 等等 如果不深入细节 它是如何工作的 Java 的卖点之
  • 异步迭代器

    我有以下代码 while slowIterator hasNext performLengthTask slowIterator next 由于迭代器和任务都很慢 因此将它们放入单独的线程中是有意义的 这是对迭代器包装器的快速而肮脏的尝试
  • Jenkins 的代码覆盖率 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 发生错误。请参阅日志文件 - eclipse juno

    每当我启动 Eclipse Juno 时 都会出现错误 发生错误 请查看日志文件 C Program Files eclipse configuration 1362989254411 log 有的网站说卸载jdk重新安装 我这样做了 但没
  • JavaFX - 为什么多次将节点添加到窗格或不同的窗格会导致错误?

    我现在正在学习基本的 JavaFX 我不明白我正在阅读的书中的这一说法 不 诸如文本字段之类的节点只能添加到一个窗格中一次 将节点添加到多次窗格或不同的窗格将导致运行时错误 我可以从书中提供的UML图看出它是一个组合 但我不明白为什么 库类
  • TransientObjectException - 对象引用未保存的瞬态实例 - 在刷新之前保存瞬态实例

    对于我的问题 我遇到了一些可能的好答案 但这是关于从 Hibernate 3 4 0GA 升级到 Hibernate 4 1 8 的问题 所以这曾经在以前的版本下工作 我已经四处搜索为什么它在这个新版本中中断 I get a org hib
  • Java中的回调接口是什么?

    SetObserver 接口的代码片段取自有效的Java 避免过度同步第67条 public interface SetObserver
  • 如何解决 PDFBox 没有 unicode 映射错误?

    我有一个现有的 PDF 文件 我想使用 python 脚本将其转换为 Excel 文件 目前正在使用PDFBox 但是存在多个类似以下错误 org apache pdfbox pdmodel font PDType0Font toUnico
  • 为什么这个私人浮动字段变为零?

    我有一些奇怪的行为 我很难向自己解释 称为 textureScale 的浮点字段变为零 如果某些代码正在更改该值 则可以解释这一点 然而 我希望能够通过将其设置为 私有最终浮点 来导致构建失败 或者至少是运行时异常 那么无论更改该值都将失败
  • 失败时石英重试

    假设我有一个这样配置的触发器
  • 摩尔斯电码 至 英语

    我现在的问题是让 摩尔斯电码转英语 正常工作 将英语转换为莫尔斯电码的第一部分工作正常 我知道以前已经有人问过这个问题 但我不知道我做错了什么 我知道我需要在某个地方进行拆分 但我只是不确定将其放在代码中的何处 现在 莫尔斯电码到英语的部分
  • Java:使用 Graph API 在线更新 Sharepoint 上的 docx 文件

    我在使用 Java 在线更新 Sharepoint 上的 docx 文件时遇到问题 首先 我检查了构建 PUT 请求的 URL 此处 并使用此请求 PUT drives drive id items item id content 我首先使

随机推荐

  • 从 IndexedSeq[DataFrame] 转换为 DataFrame?

    新手问题 我尝试向现有 DataFrame 添加列 我正在使用 Spark 1 4 1 import sqlContext implicits case class Test rule Int val test sc parallelize
  • 从数据框中删除特殊字符和字母数字的简单方法

    我有一个大型数据集 其中有 x 行和 y 列 其中一列为单词和一些不需要的数据 不需要的数据没有特定的模式 因此我发现很难将其从数据框中删除 nonhashtag want better than Dhabi United Arab Emi
  • Cassandra 使用 IN 运算符在聚类列中更新和删除

    这是我的桌子 CREATE TABLE quorum omg id int a int b text c text PRIMARY KEY id a b WITH CLUSTERING ORDER BY b DESC 当我使用 IN 运算符
  • 为什么使用 OR 条件而不是 Union 会导致性能问题

    您好 我在 SP 中有以下查询 CrmContactId 是 SP 的参数 Select distinct A PolicyBusinessId A PolicyDetailId from TPolicyBusiness A inner j
  • F# 将列表转换为树

    我有一个元组 int string 列表 其中 int 是级别 string 是名称 let src 0 root 1 a 2 a1 2 a2 1 b 2 b1 3 b11 2 b2 我需要将其转换为以下内容 let expectingTr
  • 是否可以用公式读取Excel单元格值?

    在我的以下代码中 c4 的值为零 C4 单元格的公式为 SUM C2 C3 EPPlus能够读取带有公式的单元格吗 为什么 c4 被设置为零而不是 12 using var package new ExcelPackage existing
  • Firestore collection.get() 完成操作后返回值

    我正在运行类似于问题的代码这个问题 https stackoverflow com questions 46706433 firebase firestore get data from collection除了 我从每个文档中获取数组并将
  • 如何在android中获取相机拍摄的最后一张图像? [复制]

    这个问题在这里已经有答案了 我的目的不是拍照然后将其保存到 SD 卡 获取链接等等 该图像已使用 Android 中的原始相机应用程序拍摄 我所需要的就是如何获得相对于 SD 卡的图像路径 例如 模拟 0 sdcard DCIM 100AN
  • 在 ASP.Net MVC 视图中显示是/否而不是复选框

    我对 ASP Net MVC 非常陌生 我创建了一个从模型填充的视图 我正在为模型中的每个项目创建一行 以显示模型项目的属性 属性 其中一个成员是 bool 名称是 Staged 在视图中 我想将其显示为 是 如果为真 或 否 如果为假 用
  • 从 Apache Camel 内的 JSON 主体访问数据

    我正在使用一个 API 它基本上允许文件系统的导航 我正在尝试通过 API 从返回的 JSON 中访问数据 以便对其执行功能 下面是我使用访问 API 的代码 我尝试使用 unmarshal 来 将返回的 JSON 转换为 Map from
  • 在 Mac 上调试 php?

    想知道在本地计算机上调试 PHP 的最佳方法是什么 我在 mac os 10 5 上使用 MAMP 谢谢 帕特里克 Using xdebug http xdebug org 是一个好的开始 下载软件包并按照其中的说明进行操作INSTALL文
  • JPA双向关系-无限循环/循环引用

    我有双向关系 Entity Table name facility public class Facility implements Serializable Id GeneratedValue private Long id OneToM
  • 具有重复值和后缀的列表

    我有一个清单 a a a b c 并且需要使用后缀重复一些值 ind这样添加 顺序很重要 a a ind b b ind c c ind I tried b x x ind for x in a c item for sublist in
  • python中的Turtle模块未导入[重复]

    这个问题在这里已经有答案了 这是我第一次在 python 中使用turtle模块 但我似乎无法导入它 这是我的代码 from turtle import pen1 Pen pen2 Pen pen1 screen bgcolour 2928
  • 将重复项移动到已排序数组的末尾

    我在一次采访中被问到这个问题 有一个包含重复项的已排序数组 目标是首先返回具有唯一元素的数组 并在最后返回重复的元素并保持顺序 例如 1 1 2 3 4 4 5 应该成为 1 2 3 4 5 1 4 我能够用额外的空间 O n 空间 和线性
  • 在 python3 中使用用户设置的密码进行正确的数据加密

    我一直在寻找合适的数据加密库 用python好久了 今天又需要了 不行 找到任何东西 那么有什么方法可以使用 用户设置的密码 如果我发现一些通常不安全的东西 如果我找到一个好的解决方案 它不支持用户设置密码 这意味着我被困住了 有什么办法吗
  • 在代码片段库中添加代码片段 (Xcode 10)

    最近我在使用的时候Xcode 10 测试版 3 我尝试过了制作一个代码片段并将其添加到代码片段库中 But the 由于代码片段库在 Xcode 10 中分离 因此无法进行拖放 并在我单击代码时隐藏 如何在 Xcode 10 的代码片段库中
  • yocto 中图像版本控制的最佳方法

    在 Yocto 中维护映像版本的最佳方法是什么 我的意思是假设我们构建一个图像并将其提供给客户 将来我们会向客户提供错误修复 我们如何知道客户正在使用哪个版本的 yocto 图像 有没有任何标准方法可以实现这一点 谢谢你的时间 赞赏你的努力
  • 在 for 循环中使用 bash wait [重复]

    这个问题在这里已经有答案了 我已经搜索过并期望以前有人问过这个问题 但找不到类似的问题 尽管有很多类似的问题 我希望这个 for 循环在 3 个不同的线程 进程中运行 并且wait似乎是正确的命令 for file in 1 txt 2 t
  • 我的实体加载速度超慢有什么问题吗?

    我有以下实体 Entity Table name Order public class Order Id SequenceGenerator name order id seq sequenceName order id seq alloc