尝试使用spring-data-jpa和spring-data-rest从数据库访问记录时,我遇到了下面提到的错误。
无法为类创建自我链接[Ljava.lang.Object;!没有执着 找到了实体!
我使用下面的查询来检索信息,我的类结构有点如下
Agency
@OneToMany(mappedBy="agencyCode",cascade=CascadeType.ALL)
@JsonIgnore
List<Location> locations;
Location:
@ManyToMany
@JoinColumn(name = "zipCode")
Set<Zip> zips;
Zip:
@Id
@Column(name="zipCode")
String zipCode;
用于检索信息的查询如下:
@Query("SELECT DISTINCT a, l.contactInfo.address.city, l.contactInfo.address.street, l.contactInfo.phone from Agency a, Location l INNER JOIN l.zips z where a.ceID = l.agencyCode and z.zipCode = :zip")
public List<Agency> findAgencyByZip(@Param("zip") String zip);
对此的任何帮助将不胜感激。
此致 阿赫亚
答案 0 :(得分:1)
不知道这是否是原因,但在Location
中,对于@ManyToMany
,您需要@JoinTable
而不是@JoinColumn
。修复此问题,也许这个错误也会修复。试试这个:
@ManyToMany
@JoinTable(name = "LOCATION_ZIP", joinColumns = @JoinColumn(name = "LOCATION_LOC_CODE"),
inverseJoinColumns = @JoinColumn(name = "ZIPS_ZIP_CODE")
Set<Zip> zips;