2010-06-25 63 views
1

比方说,我有一个类Employee和类Company其中包含Employee对象LinkedList,我想写一个方法,将Employee添加到特定Company中的数据库。如果Company尚未退出,我创建一个新的Company对象并将其添加到数据库中,并使用新的Employee。否则,我将新的Employee添加到指定的CompanyLinkedList<Employee> employeeJava Google App Engine:在将对象添加到另一个持久对象的持久数据结构之前,是否需要使对象持久化?

我的问题是,是否需要在将新员工添加到LinkedList之前使其持久保持不变?或者我可以这样说:

public void addEmployeeToCompany(Employee employee, companyName) { 
    PersistenceManager pm = PMF.get().getPersistenceManager(); 
    try { 
     Company company = pm.getObjectById(Company.class.getSimpleName(), companyName); 
     if(company != null) { 
      company.addEmployee(employee); 
     } 
     else { 
      Company newCompany = new Company(companyName, employee); 
      Key key = KeyFactory.createKey(Company.class.getSimpleName(), companyName); 
      newCompany.setKey(key); 
     pm.makePersistent(newCompany); 
     } 
    } 
} 

谢谢。

回答

1

是的,坚持只有公司也应该坚持员工。但真正的问题是您的公司和员工班级有哪些注释?另外,您是否有任何具体问题,也就是说,您为什么要问 - 您是否遇到异常?

+0

Employee和Company都标记@PersistenceCapable。 我没有任何具体问题。我正在学习数据库,只是想知道。 谢谢! – 2010-06-25 16:22:04

+0

我想我缺少的是company.addEmployee(employee)后面的pm.makePersistent(场地)。 – 2010-06-25 16:42:50