好吧,我有一个应用程序使用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中发布主键,所以有人可以请告诉它应该怎么做!非常感谢 !! –