A的Bean,里面字段都是String,Integer之类的普通类型 B的bean,里面有User,Unit,Area之类的类型。
我想从A,把数据写入B,然后写入DB
大概就是 A a = ...'get db B b = new B BeanUtils.copyProperties(a, B);
User u= new User(); u.setId(a.getUser()); b.setUser(u)
dao.save b
结果报错: object references an unsaved transient instance - save the transient instance before flushing
我知道这个错,是类似User之类的属性不是托管状态,
但我不想级联保存什么的,我只想保存这一个表,把字段值给我写进去就行了。
后来折腾,发现是user字段是null的时候,也new user进来就不行,所以
if(a.getUser()!=null){ ..再new,再set } 这样就过了~~
hibernate真TM麻烦~~
|