Hibernate插入外键

时间:2012-04-24 15:28:52

标签: hibernate insert hql

我正在使用hibernate插入一些行,但我不知道我是否做得很好......

我的enity有一个外键,我知道它的id,我无法理解我是否需要引用的对象或只是id。 我是如何做到这一点的,因为将引用的对象仅用于插入是没有用的。

我想这样做:

en=new MyEntity();
en.setForeignVal("1");

似乎我必须这样做:

en=new MyEntity();
refObj=getSession().get(RefObject.class, "1"); //unuseful
en.setForeignVal(refObj);

1 个答案:

答案 0 :(得分:2)

Hibernate为此用例提供了一种特殊方法 - load()。它返回一个具有给定id的代理,而不是访问数据库:

en.setForeignVal(getSession().load(RefObject.class, "1"));