0
具有以下實體和存儲庫。我無法設法把我的關係放在身份證上。在此先感謝您的幫助資源鏈接rel與ID彈簧數據休息
從我的構建相關artifacts。gradle這個(使用Spring引導版本1.5.4.RELEASE
)
compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile('org.springframework.boot:spring-boot-starter-data-rest')
實體
商店
@Entity
@Table(name = "store")
class Store {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
long id
String description
@ManyToOne(optional=false, fetch = FetchType.EAGER)
Province province
}
省
個@Entity
@Table(name = "province")
class Province {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
long id
@NotNull
String name
}
庫
商店
@RepositoryRestResource(collectionResourceRel = "stores", path = "stores")
interface StoreRepository extends PagingAndSortingRepository<Store, Long> {
}
省
@RepositoryRestResource(collectionResourceRel = "provinces", path = "provinces")
interface ProvinceRepository extends PagingAndSortingRepository<Province, Long> {
}
預期結果 我期待這樣的結果,請注意鏈接省
{
"stores": [
{
"id": 1,
"description": "desc1",
"_links": {
"self": {
"href": "http://localhost:8080/stores/1"
},
"store": {
"href": "http://localhost:8080/stores/1"
},
"province": {
"href": "http://localhost:8080/stores/1/province/1" ==> Expecting the url with provinceID since its many to one
}
}
}
]
//Simplified for simplicity sake
}
實際結果 不具有省標識在HREF
{
"stores": [
{
"id": 1,
"description": "desc1",
"_links": {
"self": {
"href": "http://localhost:8080/stores/1"
},
"store": {
"href": "http://localhost:8080/stores/1"
},
"province": {
"href": "http://localhost:8080/stores/1/province" ==> //NO ID!
}
}
}
]
//Simplified for simplicity sake
}
基本上我期待
這
"province": {
"href": "http://localhost:8080/stores/1/province/1" ==> Expecting the url with provinceID since its many to one
}
,而不是這個
"province": {
"href": "http://localhost:8080/stores/1/province" //NO province ID
}
編輯6月21日在11:54 我已經改變了FetchType.LAZY
到EAGER
上Store
因t時出錯rying做
"http://localhost:8080/stores/1/province/1"
GOT
"org.springframework.http.converter.HttpMessageNotWritableException",
"message": "Could not write JSON: No serializer found for class org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer
該問題可能是@ManyToOne,因爲鏈接存儲在Province表中而不是Store表。但我很誠實:我從來沒有見過這個問題。 – benkuly