我使用Hyperjaxb3從XSD模式生成JPA實體。我有一個XSD:我想使用說明文本(文本區域在UI)字符串類型:hyperjaxb3 xsd:JPA實體中的字符串長度
<xsd:complexType name="Description">
<xsd:simpleContent>
<xsd:extension base="**xsd:string**">
<xsd:attribute name="abc" type="xsd:NCName" use="optional" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
Hyperjaxb3生成與屬性值類(實體)說明,註釋是這樣的:
@Basic
@Column(name = "VALUE_", **length = 255**)
public String getValue() {
return value;
}
我有的問題:
我看到,如果我把xsd:maxLength限制放在xsd:simpleType上,JPA @ Column.length的值爲maxLength。我如何在xsd:simpleContent上設置xsd:rescriction,它是xsd:xsd:string的擴展名?我是否必須定義一個帶有xsd:resctriction的complexType,以便擴展?如果是,Hyperjaxb會根據我的限制生成@ Column.length。我嘗試以下操作:
<xsd:simpleType name="DescriptionParent">
<xsd:restriction base="xsd:string">
<xsd:maxLength value="4096" />
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="Description">
<xsd:simpleContent>
<xsd:extension base="DescriptionParent">
<xsd:attribute name="abc" type="xsd:NCName" use="optional" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
但JPA列的長度仍然是255
是否也可以在我的JAXB定製(* .xjb文件)列的給定類型的lenght(設置莫名其妙讓hyperjaxb知道這是我想用於我的特定類型的orm)?或者是完全脫離的方式和xsd:最大長度應爲(以上)使用我設法全局設置它Hyperjaxb定製:
感謝您的幫助。