关于 Schema 批注问题
XML:
<BuildGroup id="0000000002">
- <BuildGroupBaseInfo operation="N">
<F_BuildGroupName>创新园</F_BuildGroupName>
<F_GroupAliasName>cxy</F_GroupAliasName>
<F_GroupDesc>研教楼上</F_GroupDesc>
</BuildGroupBaseInfo>
- <BuildGroupRelaInfo operation="N">
<F_BuildID>210211A001</F_BuildID>
</BuildGroupRelaInfo>
</BuildGroup>
- <BuildGroup id="0000000003">
- <BuildGroupBaseInfo operation="N">
<F_BuildGroupName>大家好</F_BuildGroupName>
<F_GroupAliasName>djh</F_GroupAliasName>
<F_GroupDesc>觉得你看到你</F_GroupDesc>
</BuildGroupBaseInfo>
- <BuildGroupRelaInfo operation="N">
<F_BuildID>0004000000</F_BuildID>
</BuildGroupRelaInfo>
</BuildGroup>
BuildGroup 的属性id是需要映射到数据库的,但是BuildGroup 本身不能映射到数据库。如果我把Schema写成这样:
<xs:element name="BuildGroup" type="BuildGroup" minOccurs="0" maxOccurs="unbounded" sql:mapped="false"/>
后面的数据全部被屏蔽了。把mapped改成is-constant 也不行,因为不能包含属性。
那Schema里面BuildGroup 后面的映射语句sql到底应该怎么写呢??
[解决办法]
<xs:element name="BuildGroup" type="BuildGroup" minOccurs="0" maxOccurs="unbounded" sql:mapped="false"/>
这个写的有问题啊,我猜跟元素标签应该是BuildGroups
<xs:element name="BuildGroups" type="BuildGroup" minOccurs="0" maxOccurs="unbounded" sql:mapped="false"/>
修改之后再试试吧
元素名和类型名不可以相同的