डेटाबेस को अपडेट करते समय मुझे क्या पसंद करना चाहिए? & पेशेवरों को किसी भी विधि के साथ क्या हैं और मैं एक या दूसरे का उपयोग कब करूं?Entitymanager.flush() वीएस EntityManager.getTransaction() प्रतिबद्ध - मुझे क्या पसंद करना चाहिए?
public void disemployEmployee(Integer employeeId, Date endDate) {
Employee employee = (Employee)em.find("Employee", employeeId);
employee.getPeriod().setEndDate(endDate);
em.flush();
}
public void disemployEmployee(Integer employeeId, Date endDate) {
Employee employee = (Employee)em.find("Employee", employeeId);
em.getTransaction().begin();
employee.getPeriod().setEndDate(endDate);
em.getTransaction().commit();
}
पहले उदाहरण में कोई लेनदेन नहीं है, इसलिए फ्लश() पर एक अपवाद फेंक दिया गया है। – DataNucleus
@ डेटाटाइक्लियस मुझे सीएमटी में लगता है, हमें मैन्युअल रूप से लेनदेन शुरू/समाप्त करने की आवश्यकता नहीं है। –
यकीन है लेकिन क्या वह सीएमटी में है? अपने दूसरे उदाहरण में वह टीएक्सएन शुरू करता है, इसलिए यह एकमात्र धारणा है जिसे मैं – DataNucleus