Session.load()在这种情况下,Hibernate提供了一种称为(相当混乱)的方法。
Session.load()返回具有给定标识符的惰性代理,而无需查询数据库(如果具有给定标识符的对象已被加载到current中
Session,则它本身返回一个对象)。
您可以使用该代理初始化要保存的实体中的关系:
category.setParent(session.load(Category.class, parent_id));
请注意,此代码不会检查
Category具有给定ID的是否存在。但是,如果您的数据库架构中有外键约束,则在传入无效ID时会收到违反约束的错误。
等效于此方法的JPA称为
EntityManager.getReference()。



