Appfuse之appgen模板修改

 如果pojo类中有多对一,一对多关系时,自动生成的sample-data.sql会有问题
 因此要修改sample-data.xdt

加黑的部分为增加,划线的为删除

<XDtTagDef:tagDef namespace="MethodEx" handler="org.example.antbook.xdoclet.MethodExTagsHandler"/>  <!--<XDtMethodEx:className/>-START-->

<XDtClass:forAllClasses abstract="true" sort="true">
<XDtClass:ifHasClassTag tagName="hibernate.class" paramName="table" superclasses="false">
  <table name='<XDtClass:classTagValue tagName="hibernate.class" paramName="table"/>'>
<XDtMethodEx:forAllMethods>
    <XDtMethodEx:ifHasMethodTag tagName="hibernate.id"><column><XDtMethodEx:ifHasMethodTag tagName="hibernate.id" paramName="column"><XDtMethodEx:methodTagValue tagName="hibernate.id" paramName="column"/></XDtMethodEx:ifHasMethodTag><XDtMethodEx:ifDoesntHaveMethodTag tagName="hibernate.id" paramName="column"><XDtMethodEx:propertyName/></XDtMethodEx:ifDoesntHaveMethodTag></column></XDtMethodEx:ifHasMethodTag>
    <XDtMethodEx:ifHasMethodTag tagName="hibernate.property"><column><XDtMethodEx:ifHasMethodTag tagName="hibernate.property" paramName="column"><XDtMethodEx:methodTagValue tagName="hibernate.property" paramName="column"/></XDtMethodEx:ifHasMethodTag><XDtMethodEx:ifDoesntHaveMethodTag tagName="hibernate.property" paramName="column"><XDtMethodEx:propertyName/></XDtMethodEx:ifDoesntHaveMethodTag></column></XDtMethodEx:ifHasMethodTag>
    <XDtMethodEx:ifHasMethodTag tagName="hibernate.column"><column><XDtMethodEx:ifHasMethodTag tagName="hibernate.column" paramName="name"><XDtMethodEx:methodTagValue tagName="hibernate.column" paramName="name"/></XDtMethodEx:ifHasMethodTag></column></XDtMethodEx:ifHasMethodTag>
    <XDtMethodEx:ifHasMethodTag tagName="hibernate.version"><column>version</column></XDtMethodEx:ifHasMethodTag>
</XDtMethodEx:forAllMethods>
    <row>
        <XDtMethodEx:forAllMethods>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.id">
        <value>1</value>
        </XDtMethodEx:ifHasMethodTag>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.property">
        <value><XDtMethodEx:randomValueForDbUnit/></value>
        </XDtMethodEx:ifHasMethodTag>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.column">
        <value><XDtMethodEx:randomValueForDbUnit/></value>
        </XDtMethodEx:ifHasMethodTag>

        <XDtMethodEx:ifHasMethodTag tagName="hibernate.version">
        <value>1</value>
        </XDtMethodEx:ifHasMethodTag>
        </XDtMethodEx:forAllMethods>
    </row>
    <row>
        <XDtMethodEx:forAllMethods>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.id">
        <value>2</value>
        </XDtMethodEx:ifHasMethodTag>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.property">
        <value><XDtMethodEx:randomValueForDbUnit/></value>
        </XDtMethodEx:ifHasMethodTag>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.column">
        <value><XDtMethodEx:randomValueForDbUnit/></value>
        </XDtMethodEx:ifHasMethodTag>

        <XDtMethodEx:ifHasMethodTag tagName="hibernate.version">
        <value>1</value>
        </XDtMethodEx:ifHasMethodTag>
        </XDtMethodEx:forAllMethods>
    </row>
    <row>
        <XDtMethodEx:forAllMethods>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.id">
        <value>3</value>
        </XDtMethodEx:ifHasMethodTag>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.property">
        <value><XDtMethodEx:randomValueForDbUnit/></value>
        </XDtMethodEx:ifHasMethodTag>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.column">
        <value><XDtMethodEx:randomValueForDbUnit/></value>
        </XDtMethodEx:ifHasMethodTag>

        <XDtMethodEx:ifHasMethodTag tagName="hibernate.version">
        <value>1</value>
        </XDtMethodEx:ifHasMethodTag>
        </XDtMethodEx:forAllMethods>
    </row>
  </table>
</XDtClass:ifHasClassTag>
<XDtClass:ifHasClassTag tagName="hibernate.joined-subclass" paramName="table" superclasses="false">
  <table name='<XDtClass:classTagValue tagName="hibernate.joined-subclass" paramName="table"/>'>
    <column><XDtClass:classTagValue tagName="hibernate.joined-subclass-key" paramName="column"/></column>
<XDtMethodEx:forAllMethods>
    <XDtMethodEx:ifHasMethodTag tagName="hibernate.property"><column><XDtMethodEx:ifHasMethodTag tagName="hibernate.property" paramName="column"><XDtMethodEx:methodTagValue tagName="hibernate.property" paramName="column"/></XDtMethodEx:ifHasMethodTag><XDtMethodEx:ifDoesntHaveMethodTag tagName="hibernate.property" paramName="column"><XDtMethodEx:propertyName/></XDtMethodEx:ifDoesntHaveMethodTag></column></XDtMethodEx:ifHasMethodTag>
    <XDtMethodEx:ifHasMethodTag tagName="hibernate.column"><column><XDtMethodEx:ifHasMethodTag tagName="hibernate.column" paramName="name"><XDtMethodEx:methodTagValue tagName="hibernate.column" paramName="name"/></XDtMethodEx:ifHasMethodTag></column></XDtMethodEx:ifHasMethodTag>
    <XDtMethodEx:ifHasMethodTag tagName="hibernate.version"><column>version</column></XDtMethodEx:ifHasMethodTag>
</XDtMethodEx:forAllMethods>
    <row>
        <value>1</value>
        <XDtMethodEx:forAllMethods>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.property">
        <value><XDtMethodEx:randomValueForDbUnit/></value>
        </XDtMethodEx:ifHasMethodTag>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.column">
        <value><XDtMethodEx:randomValueForDbUnit/></value>
        </XDtMethodEx:ifHasMethodTag>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.version">
        <value>1</value>
        </XDtMethodEx:ifHasMethodTag>
        </XDtMethodEx:forAllMethods>
    </row>
    <row>
        <value>2</value>
        <XDtMethodEx:forAllMethods>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.property">
        <value><XDtMethodEx:randomValueForDbUnit/></value>
        </XDtMethodEx:ifHasMethodTag>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.column">
        <value><XDtMethodEx:randomValueForDbUnit/></value>
        </XDtMethodEx:ifHasMethodTag>

        <XDtMethodEx:ifHasMethodTag tagName="hibernate.version">
        <value>1</value>
        </XDtMethodEx:ifHasMethodTag>
        </XDtMethodEx:forAllMethods>
    </row>
    <row>
        <value>3</value>
        <XDtMethodEx:forAllMethods>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.property">
        <value><XDtMethodEx:randomValueForDbUnit/></value>
        </XDtMethodEx:ifHasMethodTag>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.column">
        <value><XDtMethodEx:randomValueForDbUnit/></value>
        </XDtMethodEx:ifHasMethodTag>

        <XDtMethodEx:ifHasMethodTag tagName="hibernate.version">
        <value>1</value>
        </XDtMethodEx:ifHasMethodTag>
        </XDtMethodEx:forAllMethods>
    </row>
  </table>
</XDtClass:ifHasClassTag>

</XDtClass:forAllClasses>
  <!--<XDtMethodEx:className/>-END-->
</dataset>

大家也可以修改其它的模板文件,生成自已需要的文件



你可能感兴趣的:(sql,Hibernate,Appfuse)