|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2007-06-06 关键字: 数据库中的id转换成页面上的显示内容是的困惑
先用个例子说说我的问题。 我要存储一个用户的信息:张波、男,我的困惑在“男”上 我现在的设计是在数据库中用户表中存放的是性别的id,而这个id是代表“男”,还是“女”放在数据字典表中 当我用struts标签展示用户列表的时候,我希望展示的是“男”还是“女”,而不是性别id,这个时候必须做一个连接查询,并且在用户表对应的 entity 类中增加一个属性,来存放从数据库中取出来的在页面上显示的“男”还是“女”。 这是我在用jdbc访问数据库的时候的解决办法,但是这样做我觉得很别扭,在我的设想中,entity 中的属性应该和数据库中的字段一一对应。所以我想请问大家是怎么样解决这个问题的,有没有更好的办法。 最近,刚刚开始使用hibernate,怎么样映射能够轻松的解决这个问题?
声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2007-06-06
偶是把数据字典查询出来,放在request里,然后在页面上循环对比,id相同时就打印字典值
|
|
| 返回顶楼 | |
|
最后更新时间:2007-06-06
whistler 写道 偶是把数据字典查询出来,放在request里,然后在页面上循环对比,id相同时就打印字典值 如果是这样,我觉得把数据字典表中相关的数据查询出来后放在HashMap中会更方便些,但是我们所有的项目中都是用pager-taglib.tld来展示列表,分页,所以不太可能象你说的那样做。。
|
|
| 返回顶楼 | |
|
最后更新时间:2007-06-06
dengzhangfan 写道: 先用个例子说说我的问题。 我要存储一个用户的信息:张波、男,我的困惑在“男”上 我现在的设计是在数据库中用户表中存放的是性别的id,而这个id是代表“男”,还是“女”放在数据字典表中 当我用struts标签展示用户列表的时候,我希望展示的是“男”还是“女”,而不是性别id,这个时候必须做一个连接查询,并且在用户表对应的 entity 类中增加一个属性,来存放从数据库中取出来的在页面上显示的“男”还是“女”。 这是我在用jdbc访问数据库的时候的解决办法,但是这样做我觉得很别扭,在我的设想中,entity 中的属性应该和数据库中的字段一一对应。所以我想请问大家是怎么样解决这个问题的,有没有更好的办法。 最近,刚刚开始使用hibernate,怎么样映射能够轻松的解决这个问题? 、、、、、、、、、、、、、、、、、、、、、、 性别也搞个数据字典表 太浪费了吧 直接 0 1表示多简单 |
|
| 返回顶楼 | |
|
最后更新时间:2007-06-06
我只是把这个当成一个例子。。事实上一个项目中肯定有大量需要使用数据字典的地方:停用、启用……类似的
|
|
| 返回顶楼 | |
|
最后更新时间:2007-06-06
这个其实你用hibernate很好解决啊?
你是不是性别是一张表? User类可以写:
class User {
private Long id;
private Sex sex;
}
class Sex {
private Long id;
private String label;
}
在struts中显示的时候你直接写<c:out value="${user.sex.label}"/>不就行了。 不知道能不能解决你的问题。 |
|
| 返回顶楼 | |
|
最后更新时间:2007-06-06
dengzhangfan 写道 whistler 写道 偶是把数据字典查询出来,放在request里,然后在页面上循环对比,id相同时就打印字典值 如果是这样,我觉得把数据字典表中相关的数据查询出来后放在HashMap中会更方便些,但是我们所有的项目中都是用pager-taglib.tld来展示列表,分页,所以不太可能象你说的那样做。。象男女这样的我跟xly_971223是一样处理的 就整个常量类,用 0 1 简单表示 大点的数据字典用我上面提到的方法 你可以在业务层就直接把user的id替换成字典值 |
|
| 返回顶楼 | |
|
最后更新时间:2007-06-06
whistler 写道 dengzhangfan 写道 whistler 写道 偶是把数据字典查询出来,放在request里,然后在页面上循环对比,id相同时就打印字典值 如果是这样,我觉得把数据字典表中相关的数据查询出来后放在HashMap中会更方便些,但是我们所有的项目中都是用pager-taglib.tld来展示列表,分页,所以不太可能象你说的那样做。。象男女这样的我跟xly_971223是一样处理的 就整个常量类,用 0 1 简单表示 大点的数据字典用我上面提到的方法 你可以在业务层就直接把user的id替换成字典值 我想我的问题更加麻烦一些,现在项目中采用pager-taglib进行table的展示和封装,在使用的时候之需要指定list,和list中需要显示的对象的属性即可,jsp上面都不知道list中存放的是什么对象。。。我想,我不能直接将数据库中查询出来的list作为显示的list,中间需要做一些转化,我已经有些思路了,不过还是感觉有些别扭。 |
|
| 返回顶楼 | |
|
最后更新时间:2007-06-06
这种情况我一般是在entity里处理 多提供个getXxx方法不就好了啊
|
|
| 返回顶楼 | |
|
最后更新时间:2007-06-06
_19_ 写道 这种情况我一般是在entity里处理 多提供个getXxx方法不就好了啊
偶尔我也这么干,这就是为什么会有VO这东西! |
|
| 返回顶楼 | |











