使用会话的defaultReadOnly属性,您可以指定某些集合为可读写但其他集合为只读吗?
以下集合将被标记为FetchType.Lazy
以下使用一个实体管理器的代码。
Customer c = em.find(1, Customer.class):
Session s = em.unwrap(Session.class):
s.setDefaultReadOnly(true):
加载一个惰性集合,但为只读,这样就不会将实体添加到持久性上下文中以节省资源。
c.getEmails().size();
session.setDefaultReadOnly(false):
加载另一个集合,但可读写。
c.getPhones().size();