Skip to content

Commit 952f4bf

Browse files
committed
WIP: Refactor to avoid duplicate code and
to more easily extend jakarta persistence configuration in Column #27048
1 parent 1962f10 commit 952f4bf

File tree

1 file changed

+23
-8
lines changed

1 file changed

+23
-8
lines changed

generators/spring-data-relational/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.jakarta_persistence.ejs

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,16 +52,31 @@ import org.hibernate.type.SqlTypes;
5252
<%_ if (field.fieldTypeBytes) { _%>
5353
@Lob
5454
<%_ } _%>
55-
<%_ if (field.fieldTypeTemporal || field.fieldTypeDuration) { _%>
56-
@Column(name = "<%- field.fieldNameAsDatabaseColumn %>"<% if (field.fieldValidationRequired) { %>, nullable = false<% } %><% if (field.fieldValidationUnique) { %>, unique = true<% } %>)
57-
<%_ } else if (field.fieldTypeBigDecimal) { _%>
58-
@Column(name = "<%- field.fieldNameAsDatabaseColumn %>", precision = 21, scale = 2<% if (field.fieldValidationRequired) { %>, nullable = false<% } %><% if (field.fieldValidationUnique) { %>, unique = true<% } %>)
59-
<%_ } else if (field.fieldTypeUUID && (prodDatabaseTypeMysql || prodDatabaseTypeMariadb)) { _%>
55+
<%_
56+
const fieldTypeUuidAndMysqlDbType = field.fieldTypeUUID && (prodDatabaseTypeMysql || prodDatabaseTypeMariadb);
57+
if (fieldTypeUuidAndMysqlDbType) { _%>
6058
@JdbcTypeCode(SqlTypes.VARCHAR)
61-
@Column(name = "<%- field.fieldNameAsDatabaseColumn %>", length = 36<% if (field.fieldValidationRequired) { %>, nullable = false<% } %><% if (field.fieldValidationUnique) { %>, unique = true<% } %>)
62-
<%_ } else { _%>
63-
@Column(name = "<%- field.fieldNameAsDatabaseColumn %>"<% if (field.fieldValidate === true) { %><% if (field.fieldValidationMaxLength) { %>, length = <%= field.fieldValidateRulesMaxlength %><% } %><% if (field.fieldValidationRequired) { %>, nullable = false<% } %><% if (field.fieldValidationUnique) { %>, unique = true<% } %><% } %>)
6459
<%_ } _%>
60+
@Column(name = "<%- field.fieldNameAsDatabaseColumn %>"
61+
<%_ if (field.fieldTypeBigDecimal) { _%>
62+
, precision = 21, scale = 2
63+
<%_ } else if (fieldTypeUuidAndMysqlDbType) { _%>
64+
, length = 36
65+
<%_ } _%>
66+
67+
<%_ if (field.fieldValidate === true) { _%>
68+
<%_ if (field.fieldValidationMaxLength && !fieldTypeUuidAndMysqlDbType) { _%>
69+
, length = <%= field.fieldValidateRulesMaxlength %>
70+
<%_ } _%>
71+
<%_ if (field.fieldValidationRequired) { _%>
72+
, nullable = false
73+
<%_ } _%>
74+
<%_ if (field.fieldValidationUnique) { _%>
75+
, unique = true
76+
<% } %>
77+
<%_ } _%>
78+
)
79+
6580
<&_ } -&>
6681
<%_ } -%>
6782

0 commit comments

Comments
 (0)