
使用ssh框架的web项目配置关联关系之后查询的时候报错
展开全部
你都没有引用另外一个关联表的ID。怎么会不报错呢。你程序里面写的是Ojbect类型的。到时候在你表里面添加的是外键的Id .你不应该写成字符类型的。hibernate配置关联的时候不匹配。
追问
谁说外键一定要id的? 你看不到这里的数据是根据一个xml文件得到的吗? 请您看清题目再做回答,如果问题解决,分就是你的. 假如你不是很清楚,就不要盲目回答!
追答
汗。。哪儿来那么多话BB。。是你报错。又不是我报错。给你解决问题就非得一定正确吗?感觉不行你不会参考别人的吗?我看不当是你做东西有错。你的人品也有错!!人们都不该帮助你!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你图中的那对勾是外键的话,那你改下你的表中该列的字符集就可以了。改成与你设置外键的字符集一致。如果是mysql数据库一般是int或者bigint,自己改一下应该就可以了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
qxArea的id应该也是Integer类型吧,你数据库表中设计的是哪种类型?
更多追问追答
追问
public class QxNode implements java.io.Serializable {
// Fields
private Integer id;
private QxArea qxArea;
private String nodename;
private Timestamp entrytime;
private String usefor;
private Set qxPics = new HashSet(0);
private Set qxZigbees = new HashSet(0);
private Set qxNodeDatas = new HashSet(0);
这是实体类的 图片是数据库结构图! 再说了,这是myeclipse自动生成的不会错吧!
追答
已经找到原因了,就是因为数据库表里的areaname列的问题,实体类里引用的是qxArea类,在表里存的就是qxArea这个类在数据库中的表的主键id,而不是areaname,所以要改的话就把数据库表中的areaname改成areaId,把类型改成int就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询