@Test @TestForIssue(jiraKey = "HHH-11111") public void testEmbeddableCanBeResolvedWhenUsedAsInterface() { doInJPA( this::entityManagerFactory, entityManager -> { assertNotNull( entityManager.getMetamodel().embeddable( LocalizedValue.class ) ); assertEquals( LocalizedValue.class, ProductEntity_.description.getElementType().getJavaType() ); assertNotNull( LocalizedValue_.value ); } ); }
private static void getAttributeOfEmbedddable(Map<String, Field> columnNameToFieldMap, Metamodel metaModel, Attribute attribute) { EmbeddableType embeddable = metaModel.embeddable(((AbstractAttribute) attribute).getBindableJavaType()); Iterator<Attribute> embeddableIter = embeddable.getAttributes().iterator(); while (embeddableIter.hasNext()) { Attribute embedAttrib = embeddableIter.next(); // Reason is to avoid in case embeddable attribute within // embeddable. if (!((MetamodelImpl) metaModel).isEmbeddable(embedAttrib.getJavaType())) { columnNameToFieldMap.put(((AbstractAttribute) embedAttrib).getJPAColumnName(), (Field) embedAttrib.getJavaMember()); } else { getAttributeOfEmbedddable(columnNameToFieldMap, metaModel, embedAttrib); } } }
EmbeddableType embeddable = metaModel.embeddable(((AbstractAttribute) attribute).getBindableJavaType()); Iterator<Attribute> attributeIter = embeddable.getAttributes().iterator(); while (attributeIter.hasNext()) .getBindableJavaType())) EmbeddableType nestedEmbeddable = metaModel.embeddable(((AbstractAttribute) attrib) .getBindableJavaType()); Iterator<Attribute> iter = embeddable.getAttributes().iterator();
Map<String, Object> valueMap) throws InstantiationException, IllegalAccessException EmbeddableType embeddable = metamodel.embeddable(((AbstractAttribute) column).getBindableJavaType()); Field embeddedField = (Field) column.getJavaMember(); Object embeddedDocumentObject = null;
String tableName) EmbeddableType embeddableType = metaModel.embeddable(((AbstractAttribute) column).getBindableJavaType()); Object embeddedObject = PropertyAccessorHelper.getObject(entity, (Field) column.getJavaMember()); Map<String, DBObject> embeddedObjects = new HashMap<String, DBObject>();
@Override public <X> EmbeddableType<X> embeddable(Class<X> cls) { return delegate.embeddable(cls); }
@Override public <X> EmbeddableType<X> embeddable(Class<X> cls) { return model.embeddable(cls); }
throws InstantiationException, IllegalAccessException EmbeddableType embeddable = metamodel.embeddable(((AbstractAttribute) column).getBindableJavaType()); Field embeddedField = (Field) column.getJavaMember(); Object embeddedDocumentObject = null;
EmbeddableType embeddable = metaModel.embeddable(attr.getJavaType());
public <E> Predicate byExampleOnEmbeddable(Path<E> embeddablePath, E embeddableValue, SearchParameters sp, CriteriaBuilder builder) { if (embeddableValue == null) { return null; } Class<E> type = embeddablePath.getModel().getBindableJavaType(); ManagedType<E> mt = em.getMetamodel().embeddable(type); // note: calling .managedType() does not work return jpaUtil.orPredicate(builder, byExample(mt, embeddablePath, embeddableValue, sp, builder)); }
public <E> Predicate byExampleOnEmbeddable(Path<E> embeddablePath, E embeddableValue, SearchParameters sp, CriteriaBuilder builder) { if (embeddableValue == null) { return null; } Class<E> type = embeddablePath.getModel().getBindableJavaType(); ManagedType<E> mt = em.getMetamodel().embeddable(type); // note: calling .managedType() does not work return jpaUtil.andPredicate(builder, byExample(mt, embeddablePath, embeddableValue, sp, builder)); }
public <E> Predicate byExampleOnEmbeddable(Path<E> embeddablePath, E embeddableValue, SearchParameters sp, CriteriaBuilder builder) { if (embeddableValue == null) { return null; } Class<E> type = embeddablePath.getModel().getBindableJavaType(); ManagedType<E> mt = em.getMetamodel().embeddable(type); // note: calling .managedType() does not work return jpaUtil.orPredicate(builder, byExample(mt, embeddablePath, embeddableValue, sp, builder)); }
public <E> Predicate byExampleOnEmbeddable(Path<E> embeddablePath, E embeddableValue, SearchParameters sp, CriteriaBuilder builder) { if (embeddableValue == null) { return null; } Class<E> type = embeddablePath.getModel().getBindableJavaType(); ManagedType<E> mt = em.getMetamodel().embeddable(type); // note: calling .managedType() does not work return jpaUtil.andPredicate(builder, byExample(mt, embeddablePath, embeddableValue, sp, builder)); }
Type<?> elementType = pluralAttr.getElementType(); if (elementType.getPersistenceType() == Type.PersistenceType.EMBEDDABLE) { currentType = metamodel.embeddable(currentClass); } else if (elementType.getPersistenceType() == Type.PersistenceType.BASIC) { currentType = null; currentType = metamodel.embeddable(currentClass); } else if (attr.getPersistentAttributeType() == Attribute.PersistentAttributeType.BASIC) { currentType = null;
currentType = metamodel.embeddable(currentClass); } else if (attr.getPersistentAttributeType() == Attribute.PersistentAttributeType.BASIC) { currentType = null;
currentType = metamodel.embeddable(currentClass); } else if (attr.getPersistentAttributeType() == Attribute.PersistentAttributeType.BASIC) { currentType = null;
Map<String, Object> valueMap) throws InstantiationException, IllegalAccessException EmbeddableType embeddable = metamodel.embeddable(((AbstractAttribute) column).getBindableJavaType()); Field embeddedField = (Field) column.getJavaMember(); Object embeddedDocumentObject = null;
String tableName) EmbeddableType embeddableType = metaModel.embeddable(((AbstractAttribute) column).getBindableJavaType()); Object embeddedObject = PropertyAccessorHelper.getObject(entity, (Field) column.getJavaMember()); Map<String, DBObject> embeddedObjects = new HashMap<String, DBObject>();
throws InstantiationException, IllegalAccessException EmbeddableType embeddable = metamodel.embeddable(((AbstractAttribute) column).getBindableJavaType()); Field embeddedField = (Field) column.getJavaMember(); Object embeddedDocumentObject = null;
static Object typeSafeEntityKey( EntityManager em, EntityType<?> jpaEntityType, OEntityKey entityKey) { if (entityKey != null && jpaEntityType.getIdType().getPersistenceType() == PersistenceType.EMBEDDABLE) { Object id = newInstance(jpaEntityType.getIdType().getJavaType()); applyOProperties( em, em.getMetamodel().embeddable( jpaEntityType.getIdType().getJavaType()), entityKey.asComplexProperties(), id); return id; } Class<?> javaType = jpaEntityType.getIdType().getJavaType(); try { return TypeConverter.convert(entityKey == null ? null : entityKey.asSingleValue(), javaType); } catch (UnsupportedOperationException e) { throw new BadRequestException("Invalid key type", e); } catch (IllegalArgumentException e) { throw new BadRequestException("Invalid key value", e); } }