Что касается этого вопроса, я проверил Spring Data Rest Ambiguous Association Exception, но не смог ' чтобы заставить его работать для меня.
Как вы можете видеть в моем коде ниже, я добавил аннотацию @RestResource
с rel
, равным некоторому другому значению.
Подобно указанному выше вопросу, запросы POST работают, но запросы GET вызывают исключение о нескольких ссылках связи с одним и тем же типом отношения:
«Не удалось записать JSON: обнаружено несколько ассоциативных ссылок с одинаковым типом отношения! Устранение неоднозначности ассоциации @ org.springframework.data.rest.core.annotation.RestResource (rel = createdBy, exported = true, path =, [email protected]. data.rest.core.annotation.Description (value =)) @ javax.persistence.ManyToOne (необязательно = true, targetEntity = void, cascade = [], fetch = EAGER) @ javax.persistence.JoinColumn (referencedColumnName = ASSIGNABLE_ID, допускает значение NULL = false, unique = false, name = CREATED_BY, updatable = true, columnDefinition =, [email protected] (name =, value = CONSTRAINT, foreignKeyDefinition =), table =, insertable = true) private com.ag. persistence.domain.PersonEntity com.ag.persistence.domain.TeamEntity.createdBy using @RestResource! (через цепочку ссылок: org.springframework.hateoas.PagedResources [\ "_ embedded \"] -> java.util.UnmodifiableMap [\ "люди \ "] -> java.util.ArrayList [0]); вложенное исключение - com.fasterxml.jackson.databind.JsonMappingExce ption: Обнаружено несколько ассоциативных ссылок с одинаковым типом отношения! Устранение неоднозначности ассоциации @ org.springframework.data.rest.core.annotation.RestResource (rel = createdBy, exported = true, path =, description=@org.springframework.data.rest.core.annotation.Description (value =)) @ javax.persistence.ManyToOne (optional = true, targetEntity = void, cascade = [], fetch = EAGER) @ javax.persistence.JoinColumn (referencedColumnName = ASSIGNABLE_ID, nullable = false, unique = false, name = CREATED_BY, updatable = true, columnDefinition =, [email protected] (name =, value = CONSTRAINT, foreignKeyDefinition =), table =, insertable = true) private com.ag.persistence.domain.PersonEntity com.ag.persistence.domain.TeamEntity. createdBy с помощью @RestResource! (через цепочку ссылок: org.springframework.hateoas.PagedResources [\ "_ embedded \"] -> java.util.UnmodifiableMap [\ "people \"] -> java.util.ArrayList [0]) "
Кажется, что ошибка происходит в этом классе:
@Entity
@Table(name = "team")
public class TeamEntity extends AssignableEntity {
private String name;
private LocalDateTime createdDate;
private LocalDateTime modifiedDate;
private Collection<MembershipEntity> memberships;
private PersonEntity createdBy;
private PersonEntity modifiedBy;
@Basic
@Column(name = "NAME")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Basic
@Column(name = "CREATED_DATE")
public LocalDateTime getCreatedDate() {
return createdDate;
}
public void setCreatedDate(LocalDateTime createdDate) {
this.createdDate = createdDate;
}
@Basic
@Column(name = "MODIFIED_DATE")
public LocalDateTime getModifiedDate() {
return modifiedDate;
}
public void setModifiedDate(LocalDateTime modifiedDate) {
this.modifiedDate = modifiedDate;
}
@OneToMany(mappedBy = "team")
public Collection<MembershipEntity> getMemberships() {
return memberships;
}
public void setMemberships(Collection<MembershipEntity> memberships) {
this.memberships = memberships;
}
@RestResource(rel = "team_createdBy")
@ManyToOne
@JoinColumn(name = "CREATED_BY", referencedColumnName = "ASSIGNABLE_ID", nullable = false)
public PersonEntity getCreatedBy() {
return createdBy;
}
public void setCreatedBy(PersonEntity createdBy) {
this.createdBy = createdBy;
}
@RestResource(rel = "team_modifiedBy")
@ManyToOne
@JoinColumn(name = "MODIFIED_BY", referencedColumnName = "ASSIGNABLE_ID", nullable = false)
public PersonEntity getModifiedBy() {
return modifiedBy;
}
public void setModifiedBy(PersonEntity modifiedBy) {
this.modifiedBy = modifiedBy;
}
}
По иронии судьбы, я не получаю доступ к этому конкретному ресурсу. У меня также есть другие ресурсы с createdBy
и _5 _ - это причина этой проблемы?
createdBy
? Например,PersonEntity
? - person a better oliver   schedule 15.09.2014createdBy
,modifiedBy
,createdDate
иmodifiedDate
- person Chad   schedule 15.09.2014PersonEntity
в вашемTeamEntity
вероятно содержат ссылкуcreatedBy
. - person a better oliver   schedule 15.09.2014