当前位置:编程学习 > JAVA >>

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

类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对象存进去呢?
   --------------------编程问答-------------------- 错误可以贴出来么? --------------------编程问答-------------------- 吧代码给全了!!! --------------------编程问答-------------------- 报错正常因为你实体类中member这个属性代表映射的类可是你的@JoinColumn里面的也用了member这个属性名JPA就会用这个member属性来作为映射的外键。而你member又是个对象当然会出现这种情况。正常的数据库设计你Series表的应该是memberId才对要么你改成memberId要么你把你member属性换个名字别与这个字段名相同 --------------------编程问答-------------------- 你里面就是放的menber对象 你是做了关联么 关联做好了的话 你存对象进去也没关系 他数据会自动存id的啊
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,