java开发有关

来源:百度知道 编辑:UC知道 时间:2024/06/22 17:56:15
开发模式为struts、hibernate、jstl等。
在一个项目中,涉及到很多字典型数据,如水库规模(大、中、小)、土壤类型(酸性、碱性、粘性)、工程类型(桥梁、水闸、公路)等。
那么在数据库中如何来存储这些字典型数据呢?若水库规模、土壤类型、工程类型等各建一张表,太繁琐了吧!若将他们都存到一张“字典”表中,那水库、土壤、工程表将不能设置外键,规模字段只能存储一个规模ID标志,在查询出水库列表后,在页面中只能获得各水库的规模ID,却无法获取规模的名称。请高手指教!

我觉得还是各建一张表吧 便于维护 而且也符合数据库的设计范式
我的回答仅供参考
用SSH开发那么 只要有主外键关联映射关系 那么 就可以查询出外键表的 所有信息 需要设置 lazy=false(延迟加载) -->具体根据你的ORM映射决定怎么 设置 一般 如果查出的数据不是很多需要在页面加载的话 都可以设为不延迟加载 也就是说 lazy=false;那么 就可以拿到主键表的所有信息了

个人认为,可能还是得各建一张表
struts中的有标签可以解决这个问题

在查询出水库列表后,在页面中只能获得各水库的规模ID,却无法获取规模的名称。
先定义一个BEAN
<bean:define id="" name="" property=""/>
<bean:write name="" property=""/>
这样就可以了,你体会一下,有什么问题可以给我留言

ke yi ma ?

用hibernate根本不用你去操心数据的存储
如果你要非要像以前开发一样先建表的话
那么你可以回去看看关系数据库的教材.
把关系分到第三范式就行了,

先建好对象模型 即 水库规模(大、中、小)、土壤类型(酸性、碱性、粘性)、工程类型(桥梁、水闸、公路)这些类
再抽象出它们之间相同的部分 这时你再建表思路会更清晰一些