CreationTimestamp@ : بعضی فیلد هایی (نوع Date) داریم که تاریخ جاری را موقع insert نیاز دارند با این annotation مشخص میکنیم که موقع insert اتوماتیک تاریخ جاری سیستم را قرار دهد
UpdateTimestamp@ : هر وقت بخواهد همراه با آپدیت تاریخ آخرین آپدیت را هم ذخیره کند از این annotation روی فیلد (نوع Date) مربوطه استفاده میکنیم
NaturalId@ : میتوانیم برای فیلد هایی که جز P.key نیستند ولی در کل جدول Unique هستند استفاده کنیم
متد های ذخیره کردن یک Entity در دیتابیس :
save : ابجکت را ذخیره میکند و Primary Key ایجاد شده را برمیگرداند
persiste : ابجکت را ذخیره میکند و مقداری بر نمیگرداند
saveOrUpdate : ابجکت اگر وجود داشت آپدیت میکند و اگر وجود نداشت آنرا ذخیره میکند و مقداری بر نمیگرداند
merge : مثل saveOrUpdate است با این تفاوت که ابجکتی که ذخیره کرده را دوباره fetch میکند و بر میگرداند
متد حذف رکورد/ابجکت :
delete : تنها روی ابجکت هایی که در session context وجود دارند کار میکند یعنی اول باید از دیتابیس ابجکت را ساخته و بعد آنرا delete کنیم وگرنه معتبر نیست
متد واکشی کردن رکورد / ابجکت :
متد های find و get یک ابجکت از دیتابیس بصورت eager fetch دریافت میکند
متد load بصورت lazy ابجکتی که در کانفیگ هایبرنیت هم تعریف نکرده بودیم را سعی میکند پیدا و بر گرداند
byNaturalId().get() : میتوان رکورد ها را بر اساس uniqueKey ستون هایی که قبلاً با NaturalId@ مشخص کرده بودیم بدست بیاوریم
متد هایی که وضعیت ابجکت های detached شده را به حالت persistent تغییر میدهند:
update
saveOrUpdate
lock : سطر مربوط به ابجکت را lock میکند
replicate : ابجکت را از یک Session جدا و در session دیگر attach میکند
متد flush :
این متد هر تغییری که ابجکت در session context داشته باشد را به پایگاه داده ارسال میکند ولی commit نشده است