用HQL查询出来的对象是持久化对象吗?

w7 2013-12-12 09:33:32
类Member对应表member, 主键是自增的,字段名id,
类Series对应表series,其中有个member字段,指向member表的id
类Series中的member属性已经做了注解:
	@ManyToOne(targetEntity = Member.class)
@JoinColumn(name = "member")
public Member getMember() {
return member;
}


现在有一段代码

Series series = new Series();
.....
series.setMember(member);
session.save(series); //报错,hibernate把member当成一个二进制数据varbinary往数据库里存,当然报错了,应该存member的id才对,怎样让hibernate知道这里要存的是member的id而不是把member对象存进去呢?
...全文
199 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
别闹腰不好 2013-12-30
  • 打赏
  • 举报
回复
引用 5 楼 qw7w7 的回复:
我发现问题了,是代码没自动编译,代码是正确的。 HQL查出来的是持久化对象吗?
数据库中有数据,session中有兑现,就是持久化对象。你说的这种情况是持久化对象。
w7 2013-12-29
  • 打赏
  • 举报
回复
我发现问题了,是代码没自动编译,代码是正确的。 HQL查出来的是持久化对象吗?
放纵的青春 2013-12-16
  • 打赏
  • 举报
回复
你里面就是放的menber对象 你是做了关联么 关联做好了的话 你存对象进去也没关系 他数据会自动存id的啊
suciver 2013-12-13
  • 打赏
  • 举报
回复
报错正常因为你实体类中member这个属性代表映射的类可是你的@JoinColumn里面的也用了member这个属性名JPA就会用这个member属性来作为映射的外键。而你member又是个对象当然会出现这种情况。正常的数据库设计你Series表的应该是memberId才对要么你改成memberId要么你把你member属性换个名字别与这个字段名相同
桃园闲人 2013-12-12
  • 打赏
  • 举报
回复
吧代码给全了!!!
rjzou2006 2013-12-12
  • 打赏
  • 举报
回复
错误可以贴出来么?

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧