diff --git a/generators/entity-server/files.cjs b/generators/entity-server/files.cjs index 3792b3e9..aa421a40 100644 --- a/generators/entity-server/files.cjs +++ b/generators/entity-server/files.cjs @@ -35,6 +35,17 @@ const randexp = utils.RandexpWithFaker; */ const serverFiles = { domain: [ + { + condition: generator => + !generator.reactive && generator.databaseTypeSql && generator.prodDatabaseTypePostgres && generator.fieldsContainImageBlob, + path: SERVER_MAIN_SRC_DIR, + templates: [ + { + file: 'package/domain/_PersistClass_.java.jhi.micronaut', + renameTo: generator => `${generator.entityAbsoluteFolder}/domain/${generator.persistClass}.java.jhi.micronaut`, + }, + ], + }, { path: SERVER_MAIN_SRC_DIR, templates: [ diff --git a/generators/entity-server/templates/src/main/java/package/domain/_PersistClass_.java.jhi.micronaut.ejs b/generators/entity-server/templates/src/main/java/package/domain/_PersistClass_.java.jhi.micronaut.ejs new file mode 100644 index 00000000..1969df05 --- /dev/null +++ b/generators/entity-server/templates/src/main/java/package/domain/_PersistClass_.java.jhi.micronaut.ejs @@ -0,0 +1,37 @@ +<%# + Copyright 2013-2022 the original author or authors from the JHipster project. + + This file is part of the JHipster project, see https://www.jhipster.tech/ + for more information. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +-%> +<%# + This is a fragment file, it will be merged into to root template if available. + EJS fragments will process % delimiter tags in template and & delimiter tags in the merge process. +-%> +<&_ if (fragment.importSection) { -&> +<%_ if (databaseTypePostgres && fieldsContainImageBlob) { _%> +import org.hibernate.annotations.Type; +<%_ } _%> +<&_ } -&> + +<%_ for (const field of fields) { -%> +<&_ if (fragment.field<%- field.fieldNameCapitalized %>AnnotationSection) { -&> + <%_ if (field.fieldTypeBytes) { _%> + <%_ if (databaseTypePostgres && field.blobContentTypeImage) { _%> + @Type(type = "org.hibernate.type.BinaryType") + <%_ } _%> + <%_ } _%> +<&_ } -&> +<%_ } -%>