Skip to content

Commit 20bc96b

Browse files
committed
Enable composer for embeddable: adding test
1 parent 75b44bf commit 20bc96b

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

core/src/test/java/com/cosium/spring/data/jpa/entity/graph/repository/GeneratedEntityGraphTest.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.github.springtestdbunit.annotation.DatabaseSetup;
99
import javax.inject.Inject;
1010
import org.hibernate.Hibernate;
11+
import org.junit.jupiter.api.DisplayName;
1112
import org.junit.jupiter.api.Test;
1213
import org.springframework.transaction.annotation.Transactional;
1314

@@ -43,5 +44,12 @@ void test() {
4344
assertThat(Hibernate.isInitialized(product.getMaker().getCountry())).isTrue();
4445
}
4546

47+
@Test
48+
@DisplayName("EntityGraph with embedded part is well generated")
49+
@Transactional
50+
void test2() {
51+
ProductEntityGraph.____().tracking().creator().____.tracking().modifier().____.____();
52+
}
53+
4654
public interface ProductRepository extends EntityGraphCrudRepository<Product, Long> {}
4755
}

generator/src/main/java/com/cosium/spring/data/jpa/graph/generator/MetamodelAttribute.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,14 +75,17 @@ public Optional<MetamodelAttributeTarget> jpaTarget() {
7575
return Optional.empty();
7676
}
7777

78-
if ((targetTypeElement.getAnnotation(Entity.class) == null
79-
&& targetTypeElement.getAnnotation(Embeddable.class) == null)
80-
&& !pluralAttribute) {
78+
if (!isRelatedToEntityConcept(targetTypeElement) && !pluralAttribute) {
8179
return Optional.empty();
8280
}
8381

8482
return Optional.of(
8583
new MetamodelAttributeTarget(
8684
variableElement.getSimpleName().toString(), targetTypeElement));
8785
}
86+
87+
private boolean isRelatedToEntityConcept(TypeElement targetTypeElement) {
88+
return targetTypeElement.getAnnotation(Entity.class) != null
89+
|| targetTypeElement.getAnnotation(Embeddable.class) != null;
90+
}
8891
}

0 commit comments

Comments
 (0)