मैं जावा के साथ Google AppEngine का उपयोग कर रहा हूं।ऐपइंजिन डेटास्टोर: "आईडी के साथ ऑब्जेक्ट ... एक अलग ऑब्जेक्ट मैनेजर द्वारा प्रबंधित किया जाता है"
Object with id "[email protected]" is managed by a different Object Manager
मैं नहीं जानता कि इसका क्या मतलब है या कैसे या जहाँ इस त्रुटि पर प्रलेखन देखने के लिए इसे ठीक करने के: जब मैं कुछ डेटासंग्रह सुविधाओं का उपयोग, मैं एक त्रुटि संदेश हो रही है। क्या कोई मेरी मदद कर सकता है? कोड मैं का उपयोग कर रहा है:
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class School {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private String shortname;
@Persistent
private String fullname;
@Persistent
@Order(extensions = @Extension(vendorName="datanucleus", key="list-ordering", value="code asc"))
private List<Teacher> Teachers;
...
public Teacher FindOrCreateTeacher(String code)
{
// Can we find the teacher without any database code?
Teacher newTeacher = FindTeacher(code);
if (newTeacher != null)
return newTeacher;
// Create the teacher:
PersistenceManager pm = PMF.get().getPersistenceManager();
Transaction tx = pm.currentTransaction();
try {
tx.begin();
for (Teacher teacher : Teachers) {
if (teacher.getCode() == code) {
tx.rollback();
return teacher;
}
}
newTeacher = new Teacher(code);
Teachers.add(newTeacher);
pm.makePersistent(newTeacher);
pm.makePersistent(Teachers);
tx.commit();
} finally {
tx.commit();
}
return newTeacher;
}
मुझे विश्वास है कि "private List<Teacher> Teachers;
" को संदर्भित करता है एक "स्वामित्व, कई लोगों के लिए एक" संबंध।
दिलचस्प स्पष्टीकरण। +1 – VonC
क्या आप मुझे बता सकते हैं कि प्रधान मंत्री के उदाहरण के लिए उपयुक्त जीवनकाल क्या है? मान लीजिए कि मैं एक वेब ऐप लिख रहा हूं। क्या मुझे इसे प्रत्येक पृष्ठ अनुरोध पर खोलना और बंद करना चाहिए? या प्रक्रिया के जीवनकाल के लिए एक उदाहरण खुला रहता है? (यदि मैं लेनदेन करता हूं लेकिन प्रधान मंत्री को बंद नहीं करता, तो क्या इसका मतलब यह है कि सबसे खराब होता है स्मृति मेमोरी है? मेरा मतलब है, मेरा डेटा सुरक्षित है?) –
प्रक्रिया कितनी लंबी है? एक सामान्य वेब सिस्टम प्रति अनुरोध पीएम का उपयोग करेगा। पीएम बनाना महंगा नहीं है (पीएमएफ * बनाना * महंगा है)। यदि टीएक्सएन का उपयोग करते हैं तो आप सुरक्षित रूप से पीएम ओपन छोड़ सकते हैं ... जब तक आप उस पीएम के साथ गैर-लेनदेन अद्यतन नहीं कर रहे हैं। – DataNucleus