Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.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
Java 如何为复杂的@Entity对象创建@Projection?_Java_Spring_Spring Data Rest_Spring Rest - Fatal编程技术网

Java 如何为复杂的@Entity对象创建@Projection?

Java 如何为复杂的@Entity对象创建@Projection?,java,spring,spring-data-rest,spring-rest,Java,Spring,Spring Data Rest,Spring Rest,我想通过spring data rest公开一个非常复杂的@实体对象。因此,我试图创建一个简单的@Projection,首先只想公开实体的一个字段进行测试。但即便如此,这也失败了: @RepositoryRestResource(PersonProjection.class) interface PersonRepository extends PagingAndSortingRepository<Person, Long> (){ } @Entity public class

我想通过
spring data rest
公开一个非常复杂的
@实体
对象。因此,我试图创建一个简单的
@Projection
,首先只想公开实体的一个字段进行测试。但即便如此,这也失败了:

@RepositoryRestResource(PersonProjection.class)
interface PersonRepository extends PagingAndSortingRepository<Person, Long> (){

}

@Entity
public class Person {
    @Id
    private long id;

    private String name;

    //many more properties  

    @ManyToOne
    ...

    @OneToOne
    ...
}

@Projection(name = "personProjection", types = Person.class)
public interfaace PersonProjection {
    String name();
}

问题:原因可能是什么?如何快速公开该类的一个简单字符串属性?

您有循环数据引用吗?请参见错误:@hasnae yes,但我用
@RestResource(exported=false)@JsonIgnore
注释了每个子实体,另外我还创建了一个
crudepository
。然而,这种无休止的循环仍然存在。
at org.springframework.data.rest.webmvc.mapping.LinkCollectingAssociationHandler.doWithAssociation(LinkCollectingAssociationHandler.java:101)
at org.springframework.data.mapping.model.BasicPersistentEntity.doWithAssociations(BasicPersistentEntity.java:352)
at org.springframework.data.rest.webmvc.mapping.LinkCollectingAssociationHandler.doWithAssociation(LinkCollectingAssociationHandler.java:101)
at org.springframework.data.mapping.model.BasicPersistentEntity.doWithAssociations(BasicPersistentEntity.java:352)
at org.springframework.data.rest.webmvc.mapping.LinkCollectingAssociationHandler.doWithAssociation(LinkCollectingAssociationHandler.java:101)
at org.springframework.data.mapping.model.BasicPersistentEntity.doWithAssociations(BasicPersistentEntity.java:352)
at org.springframework.data.rest.webmvc.mapping.LinkCollectingAssociationHandler.doWithAssociation(LinkCollectingAssociationHandler.java:101)
at org.springframework.data.mapping.model.BasicPersistentEntity.doWithAssociations(BasicPersistentEntity.java:352)
at org.springframework.data.rest.webmvc.mapping.LinkCollectingAssociationHandler.doWithAssociation(LinkCollectingAssociationHandler.java:101)
at org.springframework.data.mapping.model.BasicPersistentEntity.doWithAssociations(BasicPersistentEntity.java:352)
at org.springframework.data.rest.webmvc.mapping.LinkCollectingAssociationHandler.doWithAssociation(LinkCollectingAssociationHandler.java:101)
at org.springframework.data.mapping.model.BasicPersistentEntity.doWithAssociations(BasicPersistentEntity.java:352)
at org.springframework.data.rest.webmvc.mapping.LinkCollectingAssociationHandler.doWithAssociation(LinkCollectingAssociationHandler.java:101)
at org.springframework.data.mapping.model.BasicPersistentEntity.doWithAssociations(BasicPersistentEntity.java:352)
at org.springframework.data.rest.webmvc.mapping.LinkCollectingAssociationHandler.doWithAssociation(LinkCollectingAssociationHandler.java:101)
at org.springframework.data.mapping.model.BasicPersistentEntity.doWithAssociations(BasicPersistentEntity.java:352)
at org.springframework.data.rest.webmvc.mapping.LinkCollectingAssociationHandler.doWithAssociation(LinkCollectingAssociationHandler.java:101)