Different Get and Load in Hibernate

Posted by:

[code lang=”java”]

public Account loadAccount(int id) {
return (Account) sessionFactory.getCurrentSession().get(Account.class,id);
}

[/code]

 

[code lang=”java”]

public Account loadAccount(int id) {
return (Account) sessionFactory.getCurrentSession().load(Account.class,id);
}

[/code]

Get: mỗi lần thực thi sẽ truy xuất vào database. Nếu không tìm thấy thì return null

Load: không truy xuất vào database mà tìm kiểm những Object persistent sau đó return proxy nên truy xuất sẽ nhanh hơn GET, nếu không tìm thấy dữ liệu thì sẽ throw Hibernate Exception (ObjectNotFoundException). Nhưng để kiểm tra đối tượng có tồn tại hay không thì nên dùng GET, như check Account exist or not.

0