স্প্রিং ডেটা জেপিএ এবং সেভএন্ডফ্লুশের মধ্যে পার্থক্য


131

আমি এর মাধ্যমে কিছু সিআরইউডি অপারেশন পরীক্ষা করে বসন্তের তথ্য জেপিএ শেখার চেষ্টা করছি JpaRepository

আমি দুটি পদ্ধতি জুড়ে এসেছি saveএবং saveAndFlush। আমি এই দুজনের মধ্যে পার্থক্য পাই না। কল করার saveসময়ও আমার পরিবর্তনগুলি ডাটাবেসে সংরক্ষণ করা হচ্ছে সুতরাং এর ব্যবহার কী saveAndFlush

উত্তর:


139

চালু saveAndFlushহ'ল, এই কমান্ডের সাথে সাথেই ডিবিতে পরিবর্তনগুলি সরিয়ে ফেলা হবে। সহ save, এটি অগত্যা সত্য নয় এবং অবধি কেবল স্মৃতিতে থাকতে পারে untilflush বা commitকমান্ড জারি করা হয়।

তবে সচেতন হন, আপনি লেনদেনের পরিবর্তনগুলি ফ্লাশ করে এবং সেগুলি প্রতিশ্রুতিবদ্ধ না করলেও, পরিবর্তনগুলি এখনও তা করবে না , এই লেনদেনের প্রতিশ্রুতি না দেওয়া পর্যন্ত বাইরের লেনদেনগুলিতে দৃশ্যমান ।

আপনার ক্ষেত্রে, আপনি সম্ভবত কিছু ধরণের লেনদেনের প্রক্রিয়া ব্যবহার করেন, যা commitযদি সবকিছু ঠিকঠাক কাজ করে তবে আপনার জন্য কমান্ড জারি করে।


35
"এই লেনদেনের প্রতিশ্রুতি না দেওয়া পর্যন্ত বাইরের লেনদেনের জন্য দৃশ্যমান হবে না" এটি অন্যান্য লেনদেনের বিচ্ছিন্নতার স্তরের উপর নির্ভর করে। যদি কোনও লেনদেনের বিচ্ছিন্নতা স্তরটি READ_UNCOMMITTED হয় , তবে এটি দেখতে পাবে যে কী প্রবাহিত হয়েছে তবে অন্যান্য লেনদেনের দ্বারা এখনও প্রতিশ্রুতিবদ্ধ হয়নি।
গ্যাব 好人

1
তবে, আমার প্রোজেক্টে আমি সেভ (), সেভএল () ব্যবহার করি এবং এটি স্পষ্টভাবে কলিং বা ফ্লাশ কলিং ছাড়াই ডিবিতে স্থির থাকে। তারপরে আমি কেন SaveAndFlush পছন্দ করব? এফ ফ্ল্যাশ মোড এই সমস্ত জিনিস ডিফল্ট মোডে রয়েছে
পি সতীশ প্যাট্রো

37

হাইবারনেট ফ্লাশ মোডের উপর নির্ভর করে আপনি যে AUTOডিফল্টটি ব্যবহার করছেন ( ডিফল্ট এটি) saveআপনার পরিবর্তনগুলি সরাসরি ডিবিতে লিখতে বা নাও লিখতে পারে। আপনি যখন ফোন করবেন তখন আপনি saveAndFlushআপনার মডেল রাজ্যের সিবিক্রোনাইজেশনটি ডিবি-র সাথে প্রয়োগ করছেন।

আপনি ফ্লাশ মোড স্বতঃ ব্যবহার এবং আপনাকে প্রথমে সংরক্ষণ করতে আপনার অ্যাপ্লিকেশন ব্যবহার করে করা হয় এবং তারপর আবার ডেটা নির্বাচন করেন, আপনি bahvior মধ্যে একটি পার্থক্য মধ্যে দেখতে পাবেন না save()এবং saveAndFlush()কারণ নির্বাচন ট্রিগার একটি ফ্লাশ প্রথম। ডকুমেন্টেশন দেখুন ।


দুঃখিত তবে আমি যদি saveকোনও সত্তা এবং আবার একইরকম হয়, আপনি saveদ্বিতীয় কমান্ডের সাহায্যে সদৃশ উদাহরণের জন্য সদৃশটির জন্য ব্যতিক্রম করবেন না ??
আজেফরাতি

3
@ ব্লাড্রিম হ্যাঁ, এটি আমার বোঝার দ্বারা আদর্শবান হওয়ার আহ্বান save। আরও বিশদ জন্য এই থ্রেড দেখুন ।
রাল্ফ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.