数据库中获取一对多关系的问题。


我在使用SSH框架开发微博网站的时候遇到了问题,定义了微博表MessageTable和图片表PicturesTable,其中MessageTable和PicturesTable是一对多关系,即一个微博中可以包含多个图片,一下是使用Hibernate方向生成的java文件中的定义:

MessageTable中的数据项:


 private Integer messageId;
private UserInfoTable userInfoTable;
private String messageType;
private String messageInfo;
private Date messageTime;
private Integer messageCollectnum;
private Integer messageCommentnum;
private Integer messageTransportnum;
private Integer messageAgreenum;
private Integer messageReadnum;
private Boolean messageLabel;
private Set picturesTables = new HashSet(0);
private Set collectionTables = new HashSet(0);
private Set commentsTables = new HashSet(0);
private Set atuserTables = new HashSet(0);

PicturesTable中的数据项:


 private Integer picturesId;
private MessageTable messageTable;
private String ;
private String picturesType;
private Timestamp picturesTime;

我遇到的问题是想直接可以通过微博获得对应的PicturesTable里的picturesUrl属性,但是不能直接访问,我实例化了一个MessageTable型的message,拟打算输入message.picturesTables.toArray().picturesUrl来访问到对应的图片链接,但是无法获取,请问下大神们该怎么通过一对多关系的一访问到多的数据项?

附上我的代码和出现的问题:

图片描述

这是前台页面jsp上的代码,我在Action中获取的message没有问题,但是图片获取不到,上图红色部分是我获取picturesUrl的方法,没能成功

报的错是这样的:

图片描述

网上说是tomcat的缓存问题,我清理了之后还是不行,而把之前的获取图片的那块删了之后可以显示正常的微博内容,请问下大神们该怎么解决呢?比较急,还望相助

疏忽了,附上后台报的错:

图片描述
图片描述

hibernate 数据库

故胜可知不可为 10 years, 1 month ago

如果你确定picturesTables有值且只有一个值用 ${m.picturesTables[0].picturesUrl}
如果报错你可以先输出 ${m.picturesTables} 看看这里有没有值

昔日的小伙伴 answered 10 years, 1 month ago

Your Answer