用SSH做一个BBS的时候,遇到一些问题,大家帮我看看。问题1:
先说下我的数据库表结构,一共有4个表,user表存放用户信息,photo表存放用户头像信息,topic表存放主题信息,
revert存放对主题的回复信息。topic表中有一个borwse_times字段,表示的是对这一主题的点击次数,revert表中有一个
topic_id字段,表示此回复对应的主题id,它作为外键,引用topic表中的id。
利用myeclipse生成pojo和映射文件,Topic.java中的属性: private Integer id;
private String title;
private String content;
private String author;
private String submitTime;
private Integer browseTimes;
private Set reverts = new HashSet(0);
Topic.hbm.xml:
<set name="reverts" inverse="true">
<key>
<column name="topic_id" not-null="true" />
</key>
<one-to-many class="com.bbs.hibernate.Revert" />
</set>
Revert.java中的属性:
private Integer id;
private Topic topic;
private String content;
private String author;
private String submitTime;
Revert.hbm.xml:
<many-to-one name="topic" class="com.bbs.hibernate.Topic" fetch="select">
<column name="topic_id" not-null="true" />
</many-to-one>
在进入BBS主页的时候,我需要把所有主题查询出来,在页面中需要显示出主题的回复次数和查看次数,以及最后一个回复的作者和时间,
我的问题就是这个查询应该怎么用用hibernate的HQL来写,以及怎么封装成一个对象,好在页面中使用JSTL循环输出。
问题2:
当点击某一主题后,可以进入另一个页面,在页面中,显示此主题信息已经对此主题的所有回复信息,这里的查询应该怎么用用hibernate的HQL来写
,以及怎么封装成一个对象,好在页面中使用JSTL循环输出。
问题3:
topic表的这个borse_times(点击次数)应该怎么来更新。
问题4:
循环输出顺序问题,当拿出所有主题信息时,让最新的主题放在最上面,当拿出所有回复信息时,让最新的主题在最后面。
另外大家还有什么好的建议,可以也说说,我会谢谢大家!
先说下我的数据库表结构,一共有4个表,user表存放用户信息,photo表存放用户头像信息,topic表存放主题信息,
revert存放对主题的回复信息。topic表中有一个borwse_times字段,表示的是对这一主题的点击次数,revert表中有一个
topic_id字段,表示此回复对应的主题id,它作为外键,引用topic表中的id。
利用myeclipse生成pojo和映射文件,Topic.java中的属性: private Integer id;
private String title;
private String content;
private String author;
private String submitTime;
private Integer browseTimes;
private Set reverts = new HashSet(0);
Topic.hbm.xml:
<set name="reverts" inverse="true">
<key>
<column name="topic_id" not-null="true" />
</key>
<one-to-many class="com.bbs.hibernate.Revert" />
</set>
Revert.java中的属性:
private Integer id;
private Topic topic;
private String content;
private String author;
private String submitTime;
Revert.hbm.xml:
<many-to-one name="topic" class="com.bbs.hibernate.Topic" fetch="select">
<column name="topic_id" not-null="true" />
</many-to-one>
在进入BBS主页的时候,我需要把所有主题查询出来,在页面中需要显示出主题的回复次数和查看次数,以及最后一个回复的作者和时间,
我的问题就是这个查询应该怎么用用hibernate的HQL来写,以及怎么封装成一个对象,好在页面中使用JSTL循环输出。
问题2:
当点击某一主题后,可以进入另一个页面,在页面中,显示此主题信息已经对此主题的所有回复信息,这里的查询应该怎么用用hibernate的HQL来写
,以及怎么封装成一个对象,好在页面中使用JSTL循环输出。
问题3:
topic表的这个borse_times(点击次数)应该怎么来更新。
问题4:
循环输出顺序问题,当拿出所有主题信息时,让最新的主题放在最上面,当拿出所有回复信息时,让最新的主题在最后面。
另外大家还有什么好的建议,可以也说说,我会谢谢大家!
问题二:这一个可以这样sql = from Revert as q where q.topic.id = ? Query q = this.getQuery(sql);
q.setParameter(0,topicid);return q.list();然后获取这个list后再<c:iterator>
问题三:每次点击取出这个topid的主题,然后拿到字段++后再更新。
问题四:这个sql = from Topic where id = ? order by borwse_times desc,这样可以得出来。
另外建议在set属性中加个lazy="extra",还有这些最基本的应该自己好好学吧?
问题二:hql = from Revert as r where r.topic.id = ? 然后封装在你的vo中
问题三:点击的话,可以让其 borse_times++ 然后在update
问题四:hql = from Topic t order by t.borwse_times desc --主题
hql = from Revert r where r.topic.id = ? order by r.topic.borwse_times --主题的回复
http://www.nlld.net/program/tiezijiyiqv.do?method=viewtiezi&id=1720