Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Spring boot+;休息_Spring_Rest_Spring Boot_Spring Data_Spring Data Jpa - Fatal编程技术网

如何在Spring boot+;休息

如何在Spring boot+;休息,spring,rest,spring-boot,spring-data,spring-data-jpa,Spring,Rest,Spring Boot,Spring Data,Spring Data Jpa,这是我的区域课程: @Entity(name = "REGION") public class Region { private Long id; private String region; @OneToMany(targetEntity = Compagnie.class, mappedBy = "region", fetch = FetchType.LAZY, cascade = CascadeType.ALL) private Set<

这是我的区域课程:

    @Entity(name = "REGION")

public class Region {

    private Long id;
    private String region;

    @OneToMany(targetEntity = Compagnie.class, mappedBy = "region", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
    private Set<Compagnie> compagnie;
这是我在控制器类中的编辑方法:

@RequestMapping(value = "/compagnie/{id}", method = RequestMethod.GET)
public ResponseEntity<?> getCompagnie(@PathVariable("id") long id) {
    logger.info("Fetching Compagnie with id {}", id);
    Compagnie compagnie = compagnieRepository.findOne(id);
    if (compagnie == null) {
        logger.error("Compagnie with id {} not found.", id);
        return new ResponseEntity(new CustomErrorType("Unable to update. Compagnie with id " + id + " not found."),
                HttpStatus.NOT_FOUND);
    }
    return new ResponseEntity<Compagnie>(compagnie, HttpStatus.OK);
}
@RequestMapping(value=“/compagnie/{id}”,method=RequestMethod.GET)
公共响应getCompagnie(@PathVariable(“id”)长id){
info(“获取id为{},id为的公司”);
Compagnie Compagnie=compagnieRepository.findOne(id);
if(compagnie==null){
logger.error(“找不到id为{}的公司。”,id);
返回新的ResponseEntity(新的CustomErrorType(“找不到id为“+id+”的公司,无法更新”),
HttpStatus。未找到);
}
返回新的响应状态(compagnie,HttpStatus.OK);
}
我用于测试的json是:

{ “公司”:“测试公司1”, “区域”:{ “id”:1, “区域”:“区域1” } }

公司发生了变化,但区域不会改变,我无法从@requestBody读取区域属性

我真的需要你的帮助。
谢谢。

在这种情况下,持久性提供程序默认不会获取
区域

定义实体上的实体图详细信息:

@Entity(name = "COMPAGNIE")
@NamedEntityGraph(name = "Compagnie.region",
  attributeNodes = @NamedAttributeNode("region"))
public class Compagnie {
然后在jpa存储库界面中重写
findOne
方法的定义:

public interface CompagnieRepository extends JpaRepository<Compagnie, String> {

    @EntityGraph("Compagnie.region")
    Compagnie findOne(Long id);
}
public interface compaginerepository扩展了JpaRepository{
@EntityGraph(“公司区域”)
Compagnie findOne(长id);
}

现在将急切地获取依赖项,并且区域数据应该出现在响应体中

默认情况下,持久性提供程序不会获取
区域

定义实体上的实体图详细信息:

@Entity(name = "COMPAGNIE")
@NamedEntityGraph(name = "Compagnie.region",
  attributeNodes = @NamedAttributeNode("region"))
public class Compagnie {
然后在jpa存储库界面中重写
findOne
方法的定义:

public interface CompagnieRepository extends JpaRepository<Compagnie, String> {

    @EntityGraph("Compagnie.region")
    Compagnie findOne(Long id);
}
public interface compaginerepository扩展了JpaRepository{
@EntityGraph(“公司区域”)
Compagnie findOne(长id);
}

现在将急切地获取依赖项,并且区域数据应该出现在响应体中

我认为你应该自动得到对象图,因为你有一个对象关系。请看:我认为您应该自动获取对象图,因为您有一个对象关系。请参阅: