@Test @TestForIssue(jiraKey = "HHH-12124") public void testEmbeddableEquality() { doInJPA( this::entityManagerFactory, entityManager -> { assertTrue( entityManager.getMetamodel().getEmbeddables().contains( Company_.address.getType() ) ); assertTrue( entityManager.getMetamodel().getEmbeddables().contains( Person_.address.getType() ) ); } ); } }
@Override public Set<EmbeddableType<?>> getEmbeddables() { return model.getEmbeddables(); } };
@Override public Set<EmbeddableType<?>> getEmbeddables() { return delegate.getEmbeddables(); }
private Map<String, IntermediateComplexType> buildComplexTypeList() throws ODataJPAModelException { final HashMap<String, IntermediateComplexType> ctList = new HashMap<>(); for (final EmbeddableType<?> embeddable : this.jpaMetamodel.getEmbeddables()) { final IntermediateComplexType ct = new IntermediateComplexType(nameBuilder, embeddable, this); ctList.put(ct.internalName, ct); } return ctList; }
public JPAEdmComplexType(final JPAEdmSchemaView view, final Attribute<?, ?> complexAttribute) { super(view); schemaView = view; for (EmbeddableType<?> jpaEmbeddable : schemaView.getJPAMetaModel().getEmbeddables()) { if (jpaEmbeddable.getJavaType().getName().equals(complexAttribute.getJavaType().getName())) { nestedComplexType = jpaEmbeddable; break; } } directBuild = false; if (nonKeyComplexList == null) { nonKeyComplexList = new ArrayList<String>(); } }
public JPAEdmComplexType(final JPAEdmSchemaView view, final Attribute<?, ?> complexAttribute) { super(view); schemaView = view; for (EmbeddableType<?> jpaEmbeddable : schemaView.getJPAMetaModel().getEmbeddables()) { if (jpaEmbeddable.getJavaType().getName().equals(complexAttribute.getJavaType().getName())) { nestedComplexType = jpaEmbeddable; break; } } directBuild = false; if (nonKeyComplexList == null) { nonKeyComplexList = new ArrayList<String>(); } }
private void findEmbeddableClasses() { Metamodel metamodel = entityManager.getEntityManagerFactory().getMetamodel(); Set<EmbeddableType<?>> embeddableTypeSet = metamodel.getEmbeddables(); embedableClassSet = new HashSet<Class<?>>(); for (EmbeddableType<?> embeddableType : embeddableTypeSet) { embedableClassSet.add(embeddableType.getJavaType()); } }
embeddables = schemaView.getJPAMetaModel().getEmbeddables(); } else { embeddables.add(nestedComplexType);
embeddables = schemaView.getJPAMetaModel().getEmbeddables(); } else { embeddables.add(nestedComplexType);
/** * * @param path * @param property * @param value * @return */ private Predicate preparePredicate(Path<?> path, String property, Object value) { path = getPath(path, property); if (value == null) { return path.isNull(); } // openjpa and datanucleus do not support embeddables as restriction // directly // TODO: verify whether this is working now if (JpaHelper.isJpaProviderOpenJpa(getEntityManager()) || JpaHelper.isJpaProviderDataNucleus(getEntityManager())) { for (ManagedType<?> embeddableType : metaModel.getEmbeddables()) { if (embeddableType.getJavaType().equals(value.getClass())) { return andPredicates(preparePredicates(path, embeddableType, value)); } } } return preparePredicate(path, value); }
@Override public void discoverElements(MetaProviderContext context) { if (entityManagerFactory != null) { Set<EmbeddableType<?>> embeddables = entityManagerFactory.getMetamodel().getEmbeddables(); for (EmbeddableType<?> embeddable : embeddables) { context.getLookup().getMeta(embeddable.getJavaType(), MetaJpaDataObject.class); } Set<EntityType<?>> entities = entityManagerFactory.getMetamodel().getEntities(); for (EntityType<?> entity : entities) { context.getLookup().getMeta(entity.getJavaType(), MetaJpaDataObject.class); } } }
for (EmbeddableType<?> embeddable:model.getEmbeddables()) { if (embeddable.getJavaType().equals(attr.getJavaType())) { addSingularAttributes(mf, model, embeddable, entityTable, attrPath);
for (EmbeddableType<?> embeddable:model.getEmbeddables()) { if (embeddable.getJavaType().equals(pkattr.getJavaType())) { addSingularAttributes(mf, model, embeddable, entityTable, Collections.singletonList(pkattr.getName()));
for (EmbeddableType<?> et : mm.getEmbeddables()) {
for (ManagedType<?> embeddableType : getMetaModel().getEmbeddables()) { if (embeddableType.getJavaType().equals(value.getClass())) { return andPredicates(preparePredicates(path, embeddableType, value));