Skip to content

Commit

Permalink
Refactor to avoid duplicate code
Browse files Browse the repository at this point in the history
and to more easily extend jakarta persistence configuration in Column
  • Loading branch information
OmarHawk committed Feb 18, 2025
1 parent 42ea077 commit cdd4d30
Showing 1 changed file with 23 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -52,16 +52,31 @@ import org.hibernate.type.SqlTypes;
<%_ if (field.fieldTypeBytes) { _%>
@Lob
<%_ } _%>
<%_ if (field.fieldTypeTemporal || field.fieldTypeDuration) { _%>
@Column(name = "<%- field.fieldNameAsDatabaseColumn %>"<% if (field.fieldValidationRequired) { %>, nullable = false<% } %><% if (field.fieldValidationUnique) { %>, unique = true<% } %>)
<%_ } else if (field.fieldTypeBigDecimal) { _%>
@Column(name = "<%- field.fieldNameAsDatabaseColumn %>", precision = 21, scale = 2<% if (field.fieldValidationRequired) { %>, nullable = false<% } %><% if (field.fieldValidationUnique) { %>, unique = true<% } %>)
<%_ } else if (field.fieldTypeUUID && (prodDatabaseTypeMysql || prodDatabaseTypeMariadb)) { _%>
<%_
const fieldTypeUuidAndMysqlDbType = field.fieldTypeUUID && (prodDatabaseTypeMysql || prodDatabaseTypeMariadb);
if (fieldTypeUuidAndMysqlDbType) { _%>
@JdbcTypeCode(SqlTypes.VARCHAR)
@Column(name = "<%- field.fieldNameAsDatabaseColumn %>", length = 36<% if (field.fieldValidationRequired) { %>, nullable = false<% } %><% if (field.fieldValidationUnique) { %>, unique = true<% } %>)
<%_ } else { _%>
@Column(name = "<%- field.fieldNameAsDatabaseColumn %>"<% if (field.fieldValidate === true) { %><% if (field.fieldValidationMaxLength) { %>, length = <%= field.fieldValidateRulesMaxlength %><% } %><% if (field.fieldValidationRequired) { %>, nullable = false<% } %><% if (field.fieldValidationUnique) { %>, unique = true<% } %><% } %>)
<%_ } _%>
@Column(name = "<%- field.fieldNameAsDatabaseColumn %>"
<%_ if (field.fieldTypeBigDecimal) { _%>
, precision = 21, scale = 2
<%_ } else if (fieldTypeUuidAndMysqlDbType) { _%>
, length = 36
<%_ } _%>
<%_ if (field.fieldValidate === true) { _%>
<%_ if (field.fieldValidationMaxLength && !fieldTypeUuidAndMysqlDbType) { _%>
, length = <%= field.fieldValidateRulesMaxlength %>
<%_ } _%>
<%_ if (field.fieldValidationRequired) { _%>
, nullable = false
<%_ } _%>
<%_ if (field.fieldValidationUnique) { _%>
, unique = true
<%_ } _%>
<%_ } _%>
)
<&_ } -&>
<%_ } -%>

Expand Down

0 comments on commit cdd4d30

Please sign in to comment.