first level cache در هایبرنت چیست؟
- فرشته حقیقی 4 سال قبل سوال کرد
- شما باید برای ارسال دیدگاه وارد شوید
first level cache دیتاهایی است که در session ذخیره می شوند.در هایبرنت زمانیکه دیتاهایی را از دیتابیس واکشی می کنیم این دیتاها در session قرار داده می شوند.در دفعات بعدی درصورتیکه همان دیتاها را نیاز داشته باشیم، هایبرنت به جای اینکه آنها را از دیتابیس واکشی کند از session آنها را استخراج می کند.درصورتکیه session بسته شود دیتاهای روی آن نیز از بین می رود.
در مثال زیر می خواهیم اطلاعات دانش آموز با شماره آی دی 1 استخراج کنیم.در بار اول که اینکار را انجام می دهیم اطلاعات دانش آموز از دیتابیس استخراج می شود.اما در بار دوم که اینکار را انجام می دهیم هایبرنت آن را از session بازیابی می کند.
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import com.sdnext.hibernate.tutorial.dto.Student;
public class HibernateTestDemo {
public static void main(String[] args)
{
SessionFactory sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
Session session = sessionFactory.openSession();
session.beginTransaction();
//get student with id=1
Student student = (Student) session.get(Student.class, 1);
session.getTransaction().commit();
session.close();
Session session2 = sessionFactory.openSession();
session2.beginTransaction();
//get student with id=1
Student student2 = (Student) session2.get(Student.class, 1);
session2.getTransaction().commit();
session2.close();
}
}
- فرشته حقیقی 4 سال قبل پاسخ داد
- آخرین ویرایش 4 سال قبل
- شما باید برای ارسال دیدگاه وارد شوید