15
@Entity
public class Person {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id;
private int salary;
@Version
private long version;
// ...getters and setters
}
- क्या
version
के लिए सेटटर/गेटर बनाने की आवश्यकता है? - हाइबरनेट के साथ इस इकाई को बनाए रखने पर, मुझे यह मान मैन्युअल रूप से सेट करने की आवश्यकता नहीं है, है ना?
- वसंत के
hibernateTemplate.saveOrUpdate
के साथ आशावादी समवर्ती जांच का उपयोग करने के लिए मुझे और क्या कॉन्फ़िगर करने की आवश्यकता है? क्या सभी डेटाबेस समर्थित हैं? - इस इकाई का यूनिट-परीक्षण कैसे करें? मेरे डेटाबेस में मेरे सभी रिकॉर्ड संस्करण फ़ील्ड को दिखाते हैं 0
hibernateTemplate.saveOrUpdate
कॉलिंग मूल्य हर बार संस्करण मूल्य बढ़ाएगा?
@KLE बस 2 उपयोगकर्ता कॉल hibernatetemplate.saveorupdate के मामले में, कॉल कॉल hibernatetemplate.saveorupdate कॉल करते समय अतिरिक्त जांच करने की आवश्यकता नहीं है? कोई अपवाद फेंकता है? – cometta
@cometta बिंदु को सहेजना नहीं है या नहीं, लेकिन जहां से डेटा आता है। एक लेनदेन में, ** यदि आप डेटाबेस से एक इकाई पढ़ते हैं **, यह संस्करण जानकारी अद्यतित है। जब आप इसे सहेजते हैं, तो इसे स्वचालित रूप से ख्याल रखा जाता है। यदि आप किसी अन्य स्रोत से डेटा प्राप्त करने के लिए कुछ दिन होते हैं (उदाहरण के लिए किसी फॉर्म का पोस्ट), और इकाई को फिर से बनाएं, तो आपको स्वयं संस्करण का ख्याल रखना होगा। – KLE
एक बहुत अच्छी व्याख्या यहां है: http://en.wikibooks.org/wiki/Java_Persistence/Locking – Zilvinas