用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:
循环输出顺序问题,当拿出所有主题信息时,让最新的主题放在最上面,当拿出所有回复信息时,让最新的主题在最后面。
另外大家还有什么好的建议,可以也说说,我会谢谢大家!
解决方案 »
- ssh框架 如何修改记录
- oracle里存的是number类型,java查询出来的对象属性是bigdecimal类型,该怎么解决?
- JAVA语言实现中国地图
- 这个代码是否有用到设计模式
- 求面试题
- 关于Struts2的问题,如何在Servelt中调用Service(即业务层的接口)?
- 求教达人,通过web操作服务器上的文件和文件目录,要求可以有新建文件夹,删除文件夹,删除文件,复制,粘贴功能
- j2ee中 4位2进制转换为一位16进制 一位16进制转换为4位2进制
- iis5+resin3问题,该怎么配置?
- 使用MyBatis能否动态修改数据库连接的密码
- 如何封装JDBC更简单,更好用
- 如何改写struts中的actionServlet 使其可以过滤所有.do的请求
问题二:这一个可以这样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