জেপিএ @Column
টিকা
nullable
এর অ্যাট্রিবিউট @Column
টীকা দুই উদ্দেশ্য রয়েছে:
- এটি স্কিমা প্রজন্মের সরঞ্জাম দ্বারা ব্যবহৃত হয়
- এটি হায়ারনেট দ্বারা অধ্যবসায় বিষয়বস্তু ফ্লাশ করার সময় ব্যবহার করা হয়
স্কিমা জেনারেশন সরঞ্জাম
এইচবিএম 2 ডিডিএল স্কিমা জেনারেশন সরঞ্জাম বিবৃতি উত্পন্ন করার সময় সংশ্লিষ্ট সারণী কলামের জন্য সীমাবদ্ধতার @Column(nullable = false)
সত্তাকে অ্যাট্রিবিউটটি অনুবাদ করে ।NOT NULL
CREATE TABLE
হাইবারনেট ইউজার গাইডে আমি যেমন ব্যাখ্যা করেছি , ডাটাবেস স্কিমা তৈরির জন্য HBM2DDL পদ্ধতিতে নির্ভর করার পরিবর্তে ফ্লাইওয়ের মতো একটি সরঞ্জাম ব্যবহার করা ভাল ।
দৃistence়তা প্রসঙ্গে ফ্লাশ
দৃistence়তা প্রসঙ্গে ফ্লাশ করার সময়, হাইবারনেট ওআরএম @Column(nullable = false)
সত্তা বৈশিষ্ট্যটিও ব্যবহার করে :
new Nullability( session ).checkNullability( values, persister, true );
যদি বৈধতা ব্যর্থ হয়, হাইবারনেট একটি নিক্ষেপ করবে PropertyValueException
, এবং INSERT বা আপডেটের বিবৃতিটি প্রয়োজনীয়ভাবে সম্পাদন করতে বাধা দেয়:
if ( !nullability[i] && value == null ) {
//check basic level one nullablilty
throw new PropertyValueException(
"not-null property references a null or transient value",
persister.getEntityName(),
persister.getPropertyNames()[i]
);
}
হাইবারনেট ফ্লাশ প্রক্রিয়া কীভাবে কাজ করে সে সম্পর্কে আরও তথ্যের জন্য এই নিবন্ধটি দেখুন ।
শিম বৈধকরণ @NotNull
টিকা
@NotNull
টীকা সিম ভ্যালিডেশন দ্বারা সংজ্ঞায়িত করা হয় এবং, তাই হাইবারনেট ORM ঠিক সবচেয়ে জনপ্রিয় JPA বাস্তবায়ন হয়, সবচেয়ে জনপ্রিয় সিম ভ্যালিডেশন বাস্তবায়ন হাইবারনেট ভ্যালিডেটার ফ্রেমওয়ার্ক।
হাইবারনেট ওআরএম-এর সাথে হাইবারনেট ভ্যালিডেটর ব্যবহার করার সময়, হাইবারনেট ভ্যালিডেটর ConstraintViolation
সত্তাকে বৈধতা দেওয়ার সময় একটি নিক্ষেপ করবে ।