用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();--------------------编程问答-------------------- 错误可以贴出来么? --------------------编程问答-------------------- 吧代码给全了!!! --------------------编程问答-------------------- 报错正常因为你实体类中member这个属性代表映射的类可是你的@JoinColumn里面的也用了member这个属性名JPA就会用这个member属性来作为映射的外键。而你member又是个对象当然会出现这种情况。正常的数据库设计你Series表的应该是memberId才对要么你改成memberId要么你把你member属性换个名字别与这个字段名相同 --------------------编程问答-------------------- 你里面就是放的menber对象 你是做了关联么 关联做好了的话 你存对象进去也没关系 他数据会自动存id的啊
.....
series.setMember(member);
session.save(series); //报错,hibernate把member当成一个二进制数据varbinary往数据库里存,当然报错了,应该存member的id才对,怎样让hibernate知道这里要存的是member的id而不是把member对象存进去呢?
补充:Java , Java EE