JAXB Java EE从Schema生成实体类

时间:2013-03-11 15:21:53

标签: java java-ee

我正在使用JVMB的Maven插件从XML模式文档生成类。 我的POM包含以下内容

<plugin>
  <groupId>org.codehaus.mojo</groupId>
    <artifactId>jaxb2-maven-plugin</artifactId>
    <version>1.5</version>
     <executions>
 <execution>
     <goals>
 <goal>xjc</goal>
 </goals>
 <phase>generate-sources</phase>
     </execution>
   </executions>
 <configuration>
 <clearOutputDir>false</clearOutputDir>
 <outputDirectory>src/main/java</outputDirectory>
 <schemaDirectory>src/main/webapp/schemas</schemaDirectory>
 <includeSchema>**/*.xsd</includeSchema>
 <bindingDirectory>src/main/resources/bindings</bindingDirectory>
 <enableIntrospection>false</enableIntrospection>
 </configuration>
</plugin>

我正在使用JPA 2的Eclipselink规范。当JAXB根据模式生成类时,它不包含以下注释。

@Entity
@Id 
@GeneratedValue(strategy = GenerationType.IDENTITY) 

目前我只是在每次使用Maven进行干净编译时手动添加这些内容。我想知道是否有任何方式让JAXB插件在生成类时包含这些注释来注释类文件?

1 个答案:

答案 0 :(得分:1)

JAXB使用的XJC编译器有一个插件api,允许自定义生成的java代码。似乎有一个plugin to add arbitrary annotations,也许这已经解决了你的问题。

有关可能性的更复杂示例,您可以查看source codefluent api plugin