89745cc37378f9f5da7dc3d16042edf3d56358c2.svn-base 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
  3. <hibernate-mapping>
  4. <class name="${entity.tableName}" table="${entity.tableName}" optimistic-lock="version">
  5. <#if entity.columns?exists>
  6. <#list entity.columns as attr>
  7. <#if attr.dbFieldName == "id">
  8. <#if entity.jformPkType?if_exists?html=='UUID'>
  9. <id name="id" type="java.lang.String" length="${attr.dbLength}" unsaved-value="null">
  10. <generator class="uuid" />
  11. </id>
  12. <#elseif entity.jformPkType?if_exists?html=='NATIVE'>
  13. <#if dataType=='MYSQL'>
  14. <id name="id" type="java.lang.Long" length="${attr.dbLength}" unsaved-value="null">
  15. <generator class="identity" />
  16. </id>
  17. <#elseif dataType=='ORACLE'>
  18. <id name="id" type="java.lang.Long" length="${attr.dbLength}" unsaved-value="null">
  19. <generator class="native" />
  20. </id>
  21. <#elseif dataType=='SQLSERVER'>
  22. <id name="id" type="java.lang.Long" length="${attr.dbLength}" unsaved-value="null">
  23. <generator class="identity" />
  24. </id>
  25. <#elseif dataType=='POSTGRESQL'>
  26. <id name="id" type="java.lang.Long" length="${attr.dbLength}" unsaved-value="null">
  27. <generator class="native" />
  28. </id>
  29. </#if>
  30. <#elseif entity.jformPkType?if_exists?html=='SEQUENCE'>
  31. <#if dataType=='MYSQL'>
  32. <id name="id" type="java.lang.Long" length="${attr.dbLength}" unsaved-value="null">
  33. <generator class="identity" />
  34. </id>
  35. <#elseif dataType=='ORACLE'>
  36. <id name="id" type="java.lang.Long" length="${attr.dbLength}" unsaved-value="null">
  37. <generator class="sequence">
  38. <param name="sequence">${entity.jformPkSequence}
  39. </param>
  40. </generator>
  41. </id>
  42. <#elseif dataType=='SQLSERVER'>
  43. <id name="id" type="java.lang.Long" length="${attr.dbLength}" unsaved-value="null">
  44. <generator class="identity" />
  45. </id>
  46. <#elseif dataType=='POSTGRESQL'>
  47. <id name="id" type="java.lang.Long" length="${attr.dbLength}" unsaved-value="null">
  48. <generator class="native" />
  49. </id>
  50. </#if>
  51. <#else>
  52. <id name="id" type="java.lang.String" length="${attr.dbLength}" unsaved-value="null">
  53. <generator class="uuid" />
  54. </id>
  55. </#if>
  56. <#else>
  57. <property name="${attr.dbFieldName}"
  58. <#switch attr.dbType?lower_case>
  59. <#case "string">
  60. type="java.lang.String"
  61. <#break>
  62. <#case "text">
  63. <#-- update--begin--author:scott Date:20180227 for:针对oracle情况下text类型采用clob转换 -->
  64. <#if dataType=='ORACLE'>
  65. type="clob"
  66. <#else>
  67. type="text"
  68. </#if>
  69. <#-- update--end--author:scott Date:20180227 for:针对oracle情况下text类型采用clob转换 -->
  70. <#break>
  71. <#case "int">
  72. type="java.lang.Integer"
  73. <#break>
  74. <#case "double">
  75. <#if dataType=='MYSQL'>
  76. type="java.lang.Double"
  77. <#elseif dataType=='ORACLE'>
  78. type="java.math.BigDecimal"
  79. <#elseif dataType=='POSTGRESQL'>
  80. type="java.math.BigDecimal"
  81. <#elseif dataType=='SQLSERVER'>
  82. type="java.math.BigDecimal"
  83. </#if>
  84. <#break>
  85. <#case "date">
  86. <#if dataType=='MYSQL'>
  87. type="java.util.Date"
  88. <#elseif dataType=='ORACLE'>
  89. type="java.sql.Timestamp"
  90. <#elseif dataType=='POSTGRESQL'>
  91. type="java.util.Date"
  92. <#elseif dataType=='SQLSERVER'>
  93. type="java.util.Date"
  94. </#if>
  95. <#break>
  96. <#case "bigdecimal">
  97. <#if dataType=='MYSQL'>
  98. type="java.math.BigDecimal"
  99. <#elseif dataType=='ORACLE'>
  100. type="java.math.BigDecimal"
  101. <#elseif dataType=='POSTGRESQL'>
  102. type="java.math.BigDecimal"
  103. <#elseif dataType=='SQLSERVER'>
  104. type="java.math.BigDecimal"
  105. </#if>
  106. <#break>
  107. <#case "blob">
  108. <#if dataType=='MYSQL'>
  109. type="blob"
  110. <#elseif dataType=='ORACLE'>
  111. type="blob"
  112. <#elseif dataType=='POSTGRESQL'>
  113. type="binary"
  114. <#elseif dataType=='SQLSERVER'>
  115. type="image"
  116. </#if>
  117. <#break>
  118. </#switch> access="property">
  119. <column name="${attr.dbFieldName}" <#if dataType=='SQLSERVER' && attr.dbType?lower_case="string"> sql-type="nvarchar(${attr.dbLength})" </#if>
  120. <#if dataType=='SQLSERVER' && attr.dbType?lower_case="text"> sql-type="ntext" </#if>
  121. <#if attr.dbType=='double'||attr.dbType=='BigDecimal'>
  122. precision="${attr.dbLength}" scale="${attr.dbPointLength}"<#else>length="${attr.dbLength}"</#if>
  123. <#if attr.dbDefaultVal?exists&&attr.dbDefaultVal!=''>default="${attr.dbDefaultVal}"</#if>
  124. not-null="<#if attr.dbIsNull == 1>false<#else>true</#if>" unique="false">
  125. <comment>${attr.dbFieldTxt}</comment>
  126. </column>
  127. </property>
  128. </#if>
  129. </#list>
  130. </#if>
  131. </class>
  132. </hibernate-mapping>