问几个一直以来都不是很明白的问题:

songm 2006-03-14 02:53:18
问几个一直以来都不是很明白的问题:
由于就要毕业出来了。当前正在做的项目设计中遇到一点这样的问题。
说明:项目是一个网上书店,用struts+spring+hibernate来实现

1、怎样得到分类名:
shop_booksort:书籍分类表(field1:id(标识) field2:name(分类名))
shop_bookinfo:书籍信息表(field1:id(标识) field2:sort_id(分类ID))
现在如果我在页面上查看一本书籍ID=10000的书,在shop_bookinfo表中查到记录后,在页面上显示,这个时候我要得到分类的名称(NAME),要怎样做呢?是先得到该分类的ID,再查询表shop_booksort来得到NAME吗?那样就要执行两次数据库查询了。在Hibernate中使用双向一对多的话是不是就可以少查一次数据库吗?如果是那样,我在书籍的业务bean对象中本来是只有getSortID()的方法,那不是还要加上一个getSortName()的方法来传递数据,那样好像不是很好。一般大家是怎样改决呢?

2、问过一些朋友,有些人说数据库表中最好是建上关联,那样可以保持数据的完整性,还有一些人就不要将业务关联带到数据库中。不知道在数据库设计时是建关联好还是不建关联好?如果是Hibernate中是不是在配置文件中建关联,不要在数据表上建关联呢?

3、关于排序,我们在hibernate配置的文件中可以按表个字段排序放入缓存,那如果我要在缓存中取出数据后在排序要怎么办。如,我将所有书籍以时间字段排序取出放在缓存中,现在我要在页面上点按名称排序时,这时我读取的是缓存中的数据,要怎么排序呢?

4、再问一个问题:那就是我在B/S架构中,Spring以单型的模式加载,那它释放的时候是什么时候呢?也要就是我在服务器上产生了一个对象,这个对象是不是在WEB APPLICATION被关闭时再释放,还是服务器上会自动回收。

5、关于Spring的事务处理上,像我首页要显示新书2本,推荐书籍2本,我在action中用的中现在只能是两次去调用业务层来得到这两种书,在没有用到Spring前,我用hibernate可以直接用
Transaction tr = session.beginTransaction();
事务1
事务2
。。。。
Tr.commit();

我现在的意思是,是不是可以在struts的action中用事务的方式来调用处理业务呢?
Public class MyAction extends Action{
这里面用事务的方式来调用业务层?可以吗?
}


注:问题可能对大家来说比较简单,不过本人目前还不会。希望大家多指点一下,本人一定会虚心学习的。
...全文
112 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
yingtju 2006-03-15
  • 打赏
  • 举报
回复
1.倒是能一次查出来,不过你没有相应的VO,只能存在数组里,显示时有些麻烦
2.要建关联,hibernate中配置后是以数据库已经建了关联为基础的,最终也要执行sql语句实现
他定义的功能
3.不会
4.他的生命周期是应用程序部署到结束
5.可以但事务管理是spring的任务,这么作和框架有些冲突

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧