hibernate是一个伟大的工具,嗯。真是用到上瘾
数据库和类的关联设计和命名规范
常见命名:
id 物理索引,无任何逻辑意义,所有关联全部通过id
name 名称
desc 描述
cust 客户
user 用户
acct 帐户
addr 地址
posi 位置
code 编码
tele 电话
type 类型
chname 中文名称 这里并非唯一标识,需要的时候使用(name和desc不能满足的时候)
remark 备注
我们看到,实体类的设计中,我们牵涉如下类型的field:
1. id
2. 简单field ,本表就记录完整的资料
3. 对象 manytoone关联,典型的就是类型关联。
4. 对象 compement,应该抽象出类,但并非manytoone,典型的如地址(路,街,号)
5. 集合对象 manytomany,典型的如学生和老师的关系。
特别的我们看到type类型的设计,这是典型的多对一
所以在设计应该如下:
class Customer{
CustType type
...
}
CustType extends Type{
...
}
class Type{
String code;
String name;
String desc;
}
在hibernate的hbm中,我们使用manytoone。
而在整体设计中可以考虑把所有的Type做成继承结构,而用一张表来存放所有的type
例:
code/name/desc/type
101 ,new,新装,CustType
102,del,拆 ,CustType
101,new,新装 ,UserType
相对的,如果并非典型的manytoone,如地址
可以使用compement的设计
另外我们可以作一个类似数据字典的类字典设计,使用一个持久类来存放。
作用是1.待查,2.可以用于界面
class ClassDict
field /name /desc
Cust.Type,客户类型,表示客户的类型(如大客户,代理商等)