Sử dụng trường hợp:Chèn chú thích tùy chỉnh trong 'trường' java sử dụng plugin chú thích + JAXB (khi xsd -> java)
Wanna chèn chú thích tùy chỉnh cho các trường trong lớp java tạo ra bởi JAXB
Vấn đề:
Sử dụng plugin Chú thích + JAXB [1], tôi có thể chèn chú thích tùy chỉnh thành công nhưng chúng được chèn vào phương thức getter thay vì trường. Morphia (mongo DB) chú thích (mà tôi thực sự muốn chèn) tuy nhiên chỉ có thể chú thích các trường java [2].
xsd thử nghiệm của tôi:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.1"
xmlns:annox="http://annox.dev.java.net" jaxb:extensionBindingPrefixes="annox">
<xsd:element name="hoo" type="External" />
<xsd:complexType name="External">
<xsd:sequence>
<xsd:element name="bar" type="xsd:string" />
<xsd:element name="hoobar" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
thử nghiệm của tôi xjb ràng buộc:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<jaxb:bindings
version="2.1"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:annox="http://annox.dev.java.net" jaxb:extensionBindingPrefixes="annox">
<jaxb:bindings schemaLocation="external.xsd" node="/xs:schema">
<jaxb:bindings node="xs:complexType[@name='External']/xs:sequence/xs:element[@name='bar']">
<annox:annotate>
<annox:annotate
annox:class="java.lang.SuppressWarnings"
impl="com.acme.foo.MyFieldBridge">
</annox:annotate>
</annox:annotate>
</jaxb:bindings>
tạo đoạn mã java của tôi:
@XmlElement(required = true)
protected String bar;
@XmlElement(required = true)
protected String hoobar;
/**
* Gets the value of the bar property.
*
* @return
* possible object is
* {@link String }
*
*/
@SuppressWarnings({
})
public String getBar() {
return bar;
}
Như bạn thấy, tôi muốn chú giải trường "thanh". Xin cho biết. Yêu cầu thêm nếu cần.
[1] Generate @Indexed annotation using Jaxb or HyperJaxb
[2] Đối với mẫu thấy chú thích @ id của nha phiến
target = "lĩnh vực" giải quyết vấn đề: annox: chú thích> annox: chú thích> jaxb: bindings> jaxb: bindings> Hãy cho tôi biết nếu bạn có bất kỳ giải pháp nào khác. Xin lôi vi đa lam phiên. –
Hari
Tôi không thể đăng câu trả lời này vì tôi có <100 danh tiếng. Cảm ơn vì đã xem xét điều này. – Hari
Làm cách nào để chèn nhận xét vào xsd khi tạo lược đồ? – wener