相关疑难解决方法(0)

ORM(对象关系映射)中的"N + 1选择问题"是什么?

"N + 1选择问题"通常被称为对象关系映射(ORM)讨论中的一个问题,我理解它必须为对象中看起来很简单的事情做出大量的数据库查询.世界.

有没有人对这个问题有更详细的解释?

orm select-n-plus-1

1507
推荐指数
16
解决办法
37万
查看次数

Spring Data REST MongoDB:检索DBRef的对象而不是href

你好专家@ stackOverflow,

我们正在使用Spring Data REST MongoDB.

是否有可能急于加载子对象,而不是使用@DBRef注释的超链接?请参阅Process.templates下面的属性.

这是我们的模型:

import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.DBRef;
import org.springframework.data.mongodb.core.mapping.Document;

import java.util.ArrayList;
import java.util.List;

@Document(collection = "process")
public class Process {
    @Id
    private String id;

    private String name;

    @DBRef ///////// ------> This is the corresponding attribute <------
    private List<MergeTemplate> templates = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

这是我们的存储库:

import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.data.rest.core.annotation.RepositoryRestResource;

@RepositoryRestResource(collectionResourceRel = "process", path = "process")
public interface ProcessRepository extends MongoRepository<Process, String> {
}
Run Code Online (Sandbox Code Playgroud)

FindAll API带来了子对象的链接

http://localhost:8080/data/process
Run Code Online (Sandbox Code Playgroud)

带来以下JSON.

{
  "_embedded" : {
    "process" : [ { …
Run Code Online (Sandbox Code Playgroud)

java rest spring mongodb spring-data-rest

3
推荐指数
1
解决办法
1620
查看次数

标签 统计

java ×1

mongodb ×1

orm ×1

rest ×1

select-n-plus-1 ×1

spring ×1

spring-data-rest ×1