如果我點擊一個API來顯示子實體的所有細節與父實體[映射可能OneToOne或ManyToOne等..]。我得到的輸出這樣的..如何通過彈簧休息API來限制訪問兒童實體和父實體的某些字段
{
"fID": 19,
**"comments": "good",**
"recommendation": "rec",
"candidate": {
"candidateID": 400,
"firstName": "Raghu",
"lastName": "R",
"emailID": "[email protected]",
"phoneNumber": "9900000099",
**"password": "Hello",**
"gender": "1",
"candidateDOB": 1472169600000,
"userId": 22
},
"inter": {
"interID": 14,
**"name": "Anu",**
"designation": "Dev"
},
"Job": {
"id": 13,
"maxYearOfExperience": 9,
"minYearOfExperience": 3,
**"organizationName": "EFG"**
}
}
我的代碼是:
Query query = session.createQuery("from EntityName where ID= :id");
query.setInteger("id", id);
result = query.uniqueResult();
我想隱藏顯示在上面的輸出領域中,粗體字[**] .. 我嘗試了一些方法,:
1的方法是:
EntityName example = new EntityName();
Example ex = Example.create(example).excludeProperty("password");
Criteria criteria = session.createCriteria(EntityName.class)
.add(Restrictions.eq("id", id))
.add(ex);
EntityName= (EntityName) criteria.uniqueResult();
但這種方法是不工作作爲我的要求設計。 ENT。
第二個方法是:
Criteria criteria = session.createCriteria(EntityName.class)
.add(Restrictions.eq("id", id));
ProjectionList projList = Projections.projectionList();
projList.add(Projections.property("id"));
projList.add(Projections.property("Name"));
projList.add(Projections.property("authPerson"));
projList.add....so on
criteria.setProjection(projList);
Object obj = criteria.uniqueResult();
if(obj != null){
EntityName= (EntityName) obj;
}
是否有任何其他的方式來解決這個問題? 在此先感謝。
謝謝。 @Plog – Priya