2010-06-25 62 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