Spring Data
文章平均质量分 87
85程序员老王
以下框架的中文版已译“Spring for Apache Kafka”、“Spring Data Elasticsearch”、“Spring Data MongoDB”、“Spring Data Redis”
展开
-
Spring Data的Repositories----自定义存储库实现
当你想要自定义基本存储库行为以使所有存储库都受到影响时,上一节中描述的方法需要自定义每个存储库接口。要更改所有存储库的行为,可以创建一个扩展特定持久性技术存储库基类的实现。然后,该类充当存储库代理的自定义基类,如以下示例所示:自定义存储库基类该类需要有一个父类的构造函数,特定存储的存储库工厂实现使用该构造函数。如果存储库基类有多个构造函数,请重写采用EntityInformation加上特定于存储库的基础结构对象(如EntityManager或template类)的构造函数。原创 2024-03-11 10:52:16 · 665 阅读 · 0 评论 -
Spring Data的Repositories----Query by Example
本章介绍了Query by Example,并解释了如何使用它。Query by Example(QBE)是一种接口简单、用户友好的查询技术。它允许动态创建查询,不需要编写包含字段名的查询。事实上,QBE根本不需要您使用特定于存储的查询语言来编写查询。原创 2024-03-08 17:00:24 · 1080 阅读 · 0 评论 -
Spring Data----对象映射基础Object Mapping Fundamentals
本节介绍Spring Data对象映射、对象创建、字段和属性访问、可变性和不变性的基本原理。请注意,本节仅适用于不使用底层数据存储(如JPA)的对象映射的Spring Data模块。此外,请务必了解特定于存储对象的映射,如索引、自定义列名或字段名等。SpringData对象映射的核心职责是创建域对象的实例,并将store-native数据结构映射到这些实例上。原创 2024-03-01 08:12:24 · 692 阅读 · 0 评论 -
Spring Data的Repositories----存储库查询返回类型
下表列出了Spring Data存储库通常支持的返回类型。但是,有关支持的返回类型的确切列表,请参阅特定存储的文档,因为此处列出的某些类型在特定存储中可能不受支持。地理空间类型(如GeoResult、GeoResults和GeoPage)仅适用于支持地理空间查询的数据存储。一些存储模块可以定义自己的结果包装器类型。原创 2024-02-26 20:17:28 · 495 阅读 · 0 评论 -
Spring Data的Repositories----存储库查询关键字
下表列出了Spring Data存储库查询派生机制通常支持的主题(subject)关键字,以表达谓词(predicate)。有关支持的关键字的确切列表,请参阅特定存储的文档,因为此处列出的某些关键字在特定存储中可能不受支持。下表列出了Spring Data存储库查询派生机制通常支持的谓词关键字。但是,有关支持的关键字的确切列表,请参阅特定存储的文档,因为此处列出的某些关键字在特定存储中可能不受支持。表3:查询谓词修饰词关键字。表1:查询主题关键字。表2:查询谓词关键字。原创 2024-02-26 20:11:37 · 557 阅读 · 0 评论 -
Spring Data的Repositories----存储库方法的null处理
从Spring Data 2.0开始,返回单个聚合实例的存储库CRUD方法使用Java 8的Optional来指示潜在的值缺失。或者,查询方法可以选择根本不使用包装类型。然后通过返回null来指示没有查询结果。保证返回collections, collection alternatives, wrappers和 streams的存储库方法永远不会返回null,而是返回相应的空表示。有关详细信息,请参阅章节“二十、存储库查询返回类型”。原创 2024-02-26 19:48:14 · 1089 阅读 · 0 评论 -
Spring Data的Repositories----从聚合根(Aggregate Roots)发布事件
由存储库管理的实体是聚合根。在域驱动设计应用程序中,这些聚合根通常发布域事件。请注意,这些方法将聚合根实例作为参数。这就是为什么deleteById(…)明显不存在的原因,因为实现可能会选择发出删除实例的查询,导致我们一开始就永远无法访问聚合实例。原创 2024-02-26 19:40:32 · 379 阅读 · 0 评论 -
Spring Data的Repositories----投影Projections
Spring Data查询方法通常返回由存储库管理的聚合根(aggregate root)的一个或多个实例。但是,有时可能需要基于这些类型的某些属性来创建投影。Spring Data允许对专用的返回类型进行建模,以便更有选择地检索托管聚合(managed aggregates)的部分视图。参见一个存储库和聚合根类型,例如以下示例:聚合和存储库示例现在假设我们只想检索人的姓名属性。Spring Data提供了什么方法来实现这一点?本章的其余部分将回答这个问题。原创 2024-02-26 19:28:13 · 1034 阅读 · 0 评论 -
Spring Data的Repositories----定义查询方法
为集合提供专用包装器类型是为返回多个元素的查询结果提供API的常用模式。通常,这些类型是通过调用存储库方法来使用的,该方法返回类似集合的类型并手动创建包装器类型的实例。类型实现Streamable。该类型公开一个构造函数或一个名为of(…)或valueOf(…)的静态工厂方法,该方法将Streamable作为参数。@Override--------51. 公开API以访问产品价格的产品实体。原创 2024-02-26 19:21:51 · 771 阅读 · 0 评论 -
Spring Data的Repositories----定义Repository接口
有几种变体可以帮助你开始使用repository接口。典型的方法是继承CrudRepository,它为你提供了CRUD功能的方法。CRUD代表创建、读取、更新、删除。在3.0版本中,框架还引入了ListCrudRepository,它与CrudRepository非常相似,但对于那些返回多个实体的方法,它返回的是List,而不是Iterable,你可能会发现它更容易使用。原创 2024-02-26 19:11:52 · 1053 阅读 · 0 评论 -
Spring Data的Repositories----核心概念Core concepts
此接口主要充当标记接口,用于捕获要使用的类型,并帮助您发现扩展此类型的接口。这些接口继承了CrudRepository,除了相当通用的与持久性技术无关的接口(如CrudRepository)之外,还公开了底层持久性技术的功能。ListPagingAndSortingRepository提供了等效的方法,但返回了一个List,而PagingAndSortingRepository方法返回一个Iterable。在本文档解释一般方案的同时,请确保你的存储模块支持要使用的接口。CrudRepository接口。原创 2024-02-26 19:05:27 · 713 阅读 · 0 评论