java-JAXB-从XSD生成类-将枚举转换为除枚举名称之外的自定义toString()
作者:互联网
使用JAXB,我们直接生成Java Bean.在XSD中,我们有一个枚举类型(例如):
<xs:simpleType name="ColorType">
<xs:restriction base="xs:string">
<xs:enumeration value="Red"/>
<xs:enumeration value="Blue"/>
<xs:enumeration value="Green"/>
</xs:restriction> </xs:simpleType>
在数据库中,我们可能有红色,黑色和绿色的标志,例如R,B和G.从某种意义上说,我们的标志只有一个字母词.我想枚举,例如… ColorType.Red.toString()等于R …或类似的东西,以便我可以将R链接到它.现在,我正在使用一些条件语句手动检查枚举类型,然后在插入或进行任何数据库操作时将其转换回字符串.
我想到了一些愚蠢的解决方案(愚蠢的,因为这些解决方案不好)
我认为一种解决方案可以使用
<xs:enumeration value="R">
但这并不能告诉我什么是R.
第二种解决方案是将ColorType设置为字符串,但这意味着我的ColorType甚至可以是Z,这在数据库中不是任何颜色,以某种方式来说,它是不受限制的.
标签:enums,jaxb,xsd,tostring,java 来源: https://codeday.me/bug/20191208/2087801.html