From ba839e51909d7cd9003866133664ad9125153ad4 Mon Sep 17 00:00:00 2001 From: Marcelo Boveto Shima Date: Wed, 13 Jan 2021 16:10:24 -0300 Subject: [PATCH] Misc fixes --- .../java/package/common/get_all_template.ejs | 2 +- .../package/repository/EntityRepository.java.ejs | 8 ++++---- .../package/service/mapper/EntityMapper.java.ejs | 16 ++++++++-------- utils/relationship.js | 5 ++--- 4 files changed, 15 insertions(+), 16 deletions(-) diff --git a/generators/entity-server/templates/src/main/java/package/common/get_all_template.ejs b/generators/entity-server/templates/src/main/java/package/common/get_all_template.ejs index 078226f64b19..6ca08b43d434 100644 --- a/generators/entity-server/templates/src/main/java/package/common/get_all_template.ejs +++ b/generators/entity-server/templates/src/main/java/package/common/get_all_template.ejs @@ -50,7 +50,7 @@ _%> } <%_ } else { _%> <%_ if (pagination === 'no') { _%> - public <% if (reactive) { %>Mono<<% } %>List<<%= instanceType %>><% if (reactive) { %>><% } %> getAll<%= entityClassPlural %>(<% if (fieldsContainNoOwnerOneToOne) { %>@RequestParam(required = false) String filter<% } %><% if (fieldsContainOwnerManyToMany && fieldsContainNoOwnerOneToOne) { %>,<% } %><% if (relationshipsContainEagerLoad) { %>@RequestParam(required = false, defaultValue = "false") boolean eagerload<% } %>) {<%- include('get_all_stream_template', {viaService: viaService}); -%> + public <% if (reactive) { %>Mono<<% } %>List<<%= instanceType %>><% if (reactive) { %>><% } %> getAll<%= entityClassPlural %>(<% if (fieldsContainNoOwnerOneToOne) { %>@RequestParam(required = false) String filter<% } %><% if (relationshipsContainEagerLoad && fieldsContainNoOwnerOneToOne) { %>,<% } %><% if (relationshipsContainEagerLoad) { %>@RequestParam(required = false, defaultValue = "false") boolean eagerload<% } %>) {<%- include('get_all_stream_template', {viaService: viaService}); -%> log.debug("REST request to get all <%= entityClassPlural %>"); <%_ if (viaService) { _%> return <%= entityInstance %>Service.findAll()<% if (reactive) { %>.collectList()<% } %>; diff --git a/generators/entity-server/templates/src/main/java/package/repository/EntityRepository.java.ejs b/generators/entity-server/templates/src/main/java/package/repository/EntityRepository.java.ejs index e0ed51fe0185..ebbc21ee9c6b 100644 --- a/generators/entity-server/templates/src/main/java/package/repository/EntityRepository.java.ejs +++ b/generators/entity-server/templates/src/main/java/package/repository/EntityRepository.java.ejs @@ -51,7 +51,7 @@ import org.springframework.data.cassandra.repository.CassandraRepository; import org.springframework.stereotype.Repository; <%_ if (databaseType === 'sql' || databaseType === 'mongodb' || databaseType === 'couchbase') { - let importList = fieldsContainOwnerManyToMany; + let importList = relationshipsContainEagerLoad; for (r of relationships) { if (r.relationshipType === 'many-to-one' && r.otherEntityName === 'user') { importList = true; @@ -89,20 +89,20 @@ public interface <%= entityClass %>Repository extends <% if (databaseType === 's @Query(value = "select distinct <%= entityInstance %> from <%= asEntity(entityClass) %> <%= entityInstance %><% for (const relationship of relationships) { - if (relationship.relationshipEagerLoad) { %> left join fetch <%= entityInstance %>.<%= relationship.relationshipFieldNamePlural %><% } + if (relationship.relationshipEagerLoad) { %> left join fetch <%= entityInstance %>.<%= relationship.reference.name %><% }  } %>", countQuery = "select count(distinct <%= entityInstance %>) from <%= asEntity(entityClass) %> <%= entityInstance %>") Page<<%= asEntity(entityClass) %>> findAllWithEagerRelationships(Pageable pageable); @Query("select distinct <%= entityInstance %> from <%= asEntity(entityClass) %> <%= entityInstance %><% for (const relationship of relationships) { - if (relationship.relationshipEagerLoad) { %> left join fetch <%= entityInstance %>.<%= relationship.relationshipFieldNamePlural %><% } + if (relationship.relationshipEagerLoad) { %> left join fetch <%= entityInstance %>.<%= relationship.reference.name %><% }  } %>") List<<%= asEntity(entityClass) %>> findAllWithEagerRelationships(); @Query("select <%= entityInstance %> from <%= asEntity(entityClass) %> <%= entityInstance %><% for (const relationship of relationships) { - if (relationship.relationshipEagerLoad) { %> left join fetch <%= entityInstance %>.<%= relationship.relationshipFieldNamePlural %><% } + if (relationship.relationshipEagerLoad) { %> left join fetch <%= entityInstance %>.<%= relationship.reference.name %><% }  } %> where <%= entityInstance %>.id =:id") Optional<<%= asEntity(entityClass) %>> findOneWithEagerRelationships(@Param("id") <%= primaryKey.type %> id); <%_ diff --git a/generators/entity-server/templates/src/main/java/package/service/mapper/EntityMapper.java.ejs b/generators/entity-server/templates/src/main/java/package/service/mapper/EntityMapper.java.ejs index 94a03693a1d1..c254b66d6c1d 100644 --- a/generators/entity-server/templates/src/main/java/package/service/mapper/EntityMapper.java.ejs +++ b/generators/entity-server/templates/src/main/java/package/service/mapper/EntityMapper.java.ejs @@ -78,7 +78,7 @@ public interface <%= entityClass %>Mapper extends EntityMapper<<%= asDto(entityC <%_ /***** Id mapping *****/ const otherIdReferences = otherDtoReferences.filter(r => !r.relatedReference || r.relatedReference.id); if (!embedded && otherIdReferences.length > 0) { - if (otherIdReferences.some(r => !r.collection)) { %> + if (otherIdReferences.some(r => !r.collection)) { _%> @Named("<%= primaryKey.name %>") @BeanMapping(ignoreByDefault = true) @@ -89,9 +89,9 @@ public interface <%= entityClass %>Mapper extends EntityMapper<<%= asDto(entityC <%_ } _%> <%_ if (renMapAnotEnt === true) { _%> <%= asDto(entityClass) %> toDtoId(<%= asEntity(entityClass) %> <%= asEntity(entityInstance) %>); - <%_ } %> - <%_ } %> - <%_ if (otherIdReferences.some(r => r.collection)) { %> + <%_ } _%> + <%_ } _%> + <%_ if (otherIdReferences.some(r => r.collection)) { _%> @Named("<%= primaryKey.name %>Set") @BeanMapping(ignoreByDefault = true) @@ -102,16 +102,16 @@ public interface <%= entityClass %>Mapper extends EntityMapper<<%= asDto(entityC <%_ } _%> <%_ if (renMapAnotEnt === true) { _%> Set<<%= asDto(entityClass) %>> toDtoIdSet(Set<<%= asEntity(entityClass) %>> <%= asEntity(entityInstance) %>); - <%_ } %> - <%_ } %> -<%_ } %> + <%_ } _%> + <%_ } _%> +<%_ } _%> <%_ if (!embedded) { - // DTO -> entity mapping var renMapAnotDto = false; //Render Mapping Annotation during DTO to Entity conversion? if(idFields.length > 1) { renMapAnotDto = true; idFields.map(field => field.reference).forEach(reference => { _%> + @Mapping(target = "id.<%= reference.name %>", source = "<%= buildReferencePath(reference) %>") <%_ }) } diff --git a/utils/relationship.js b/utils/relationship.js index 55730736a51f..b4f5fe7cd444 100644 --- a/utils/relationship.js +++ b/utils/relationship.js @@ -43,8 +43,7 @@ function prepareRelationshipForTemplates(entityWithConfig, relationship, generat _.defaults(relationship, { // let ownerSide true when type is 'many-to-one' for convenience. // means that this side should control the reference. - ownerSide: - relationship.relationshipType !== 'one-to-many' && (relationship.ownerSide || relationship.relationshipType === 'many-to-one'), + ownerSide: relationship.ownerSide || relationship.relationshipType === 'many-to-one', }); relationship.otherSideReferenceExists = false; @@ -294,7 +293,7 @@ function relationshipToReference(entity, relationship, pathPrefix = []) { }, path: [...pathPrefix, name], idReferences: relationship.otherEntity.idFields ? relationship.otherEntity.idFields.map(field => field.reference) : [], - valueReference: relationship.otherEntityField && relationship.otherEntityField.reference, + valueReference: relationship.relatedField && relationship.relatedField.reference, }; return reference; }