好吧,我有一個應用程序使用GAE,因此數據存儲。JPA通過密鑰搜索而不知道父密鑰
假設我有多家公司A,B,C和我在每家公司內都有員工X,Y和Z.公司和員工之間的關係將是OneToMany,公司是業主。這導致公司主要是形式
long id = 4504699138998272; // Random Example
Key CompanyKey = KeyFactory.createKey(Company.class.getSimpleName(), id);
和僱員關鍵的是形式
long id2 = 5630599045840896;
Key EmployeeKey = KeyFactory.createKey(CompanyKey,Employee.class.getSimpleName(),id2);
一切優秀和良好的,並沒有任何問題,直到在前端,中jsp表示。有時候,我需要生成報表,或打開一個員工的個人資料,在這種情況下,包含了信息的股利如下
<div class="employeeInfo" id="<%=employee.getKey().getId()%>" > .....</div>
,這div有一個onclick將獲得一個ID /提交事件,將阿賈克斯對僱員配置文件進行新的修改,在這一點上,我必須指定僱員的主鍵(我認爲我可以很容易地從div id獲得),但它並不適用於服務器端。
問題是我知道密鑰的僱員字符串部分和長部分,但不是父鍵。爲了節省時間,我試了這個,它沒有工作
Key key = KeyFactory.creatKey(Employee.class.getSimpleName(); id);
Employee X = em.find(Employee.class,key);
X總是返回null。
我會很感激的如何找到或鍵「查詢」實體的任何想法不知道他們的父母鍵(因爲我不想不得不重新調整實體類)很多
謝謝!
ofcourse我可以將公司的長ID添加到div id並重建兩個密鑰,但我有一種感覺,這樣做有更好的方法。另外,我不認爲我應該在HTML中發佈主鍵,所以有人可以請告訴它應該怎麼做!非常感謝 !! –