Guidewire Policy Center中子类型实体字段值存储至哪个数据库实例?
Guidewire Policy Center子类型实体专属字段的数据库存储位置
关键依据:实体的继承映射策略
在Policy Center里,子类型实体的专属字段存在哪个数据库表,完全由该实体配置的继承映射方式决定,常见两种情况:
1. 单表继承(默认主流配置)
- 同继承链里的所有实体(基础实体+所有子类型)共用基础实体对应的那张数据库表
- 子类型的专属字段直接存在这张基础表里,表中会有一个
discriminator列(一般叫entitytype)用来区分不同的子实体类型 - 举个例子:如果基础实体是
Claim,子类型是AutoClaim,那AutoClaim的专属字段比如VehicleYear就存在claim表中,只有entitytype值为AutoClaim的行才会填充这个字段
2. 具体表继承(独立表存储)
- 每个子类型实体有自己独立的数据库表
- 子类型的专属字段存在自身对应的表中,同时表会带一个外键字段(比如
baseentityid)关联基础实体的表,用来共享公共数据 - 举个例子:
AutoClaim的专属字段存在autoclaim表,claim表存所有Claim类型的公共字段,两个表通过外键关联
快速确认存储位置的方法
- 查实体XML配置:打开对应实体的XML文件,看
<entity>下的<inheritance>节点,strategy属性会明确写single-table还是concrete-table - 直接查库:存一条测试数据,然后分别查基础表和子实体可能对应的表,看专属字段在哪
- 用Schema工具:执行
gw dev schema命令生成数据库Schema文档,直接看实体和表的映射关系
内容的提问来源于stack exchange,提问作者basina suresh
相关产品推荐
相关产品推荐

