所有的数据库与对象的关系映射都是在type.properties文件定义中完成的。
他通常存放在HopObject目录的下面,名称固定。
具体在这个类型映射文件中定义的字段如下:
_db = dbname //数据库名称,同db.properties
_table = TABLENAME //当前对象映射的数据表名称
_id = ID_COLUMN //对象id相当于表的主键
_name = NAME_COLUMN //可选属性 当对象为“用户”时,该属性指定表中对应的用户名
_extends = parenttype //继承另一原型的映射,不知何用
//翻译了半天才弄明白,此声明是某个集合字段,里面以逗号分隔存储某对象的id,有待实践
_parent = property1, property2.collectionX, root.collectionY
//特别,特别不好解释的一个,据我理解是扩展原型用的,索引某个存储着原型定义的字段
_prototype = PROTO_COLUMN
简单的映射举例:
属性 = 字段
prop1 = DB_COLUMN_1
prop2 = DB_COLUMN_2
属性参数 = 值
prop1.readonly = true //只读,保护此字段数据不被写入数据库
prop1.private = true //私有属性,js里默认是为public
一个引用其他对象的属性关联: One on One
prop3 = object (protoype) //括号里面是另一个对象的名字
prop3.local = LOCAL_DB_COLUMN //这里是prop3所在表中存储引用对象的id字段
prop3.foreign = FOREIGN_DB_COLUMN //这是引用对象的表和字段,这俩写法都是 table.column