public void setBiDirectionalField(Class referencedClass) Field[] fields = this.getTargetEntity().getDeclaredFields(); Class<?> clazzz = null; for (Field field : fields)
builder.append("\t\t" + rel.getTargetEntity().getName() + "#" + rel.getProperty().getName()); builder.append(" (" + rel.getCascades()); builder.append(", " + rel.getType());
relation.getTargetEntity());
/** * After successfully parsing set relational entity object within entity * object. * * @param entity * @param relationEntity * @param relation */ private void setRelationToEntity(Object entity, Object relationEntity, Relation relation) { if (relation.getTargetEntity().isAssignableFrom(getEntity(relationEntity).getClass())) { if (relation.isUnary()) { PropertyAccessorHelper.set(entity, relation.getProperty(), getEntity(relationEntity)); } else { Object associationObject = PropertyAccessorHelper.getObject(entity, relation.getProperty()); if (associationObject == null || ProxyHelper.isProxyOrCollection(associationObject)) { associationObject = PropertyAccessorHelper.getCollectionInstance(relation.getProperty()); PropertyAccessorHelper.set(entity, relation.getProperty(), associationObject); } ((Collection) associationObject).add(getEntity(relationEntity)); } } }
relation.getTargetEntity()); Method idAccessorMethod = relMetadata.getReadIdentifierMethod(); Object foreignKey = null;
relation.getTargetEntity()); Object owner = null; Object proxy = getLazyEntity(entityName, relation.getTargetEntity(), parentEntityMetadata.getReadIdentifierMethod(), parentEntityMetadata.getWriteIdentifierMethod(), relationValue, pd); + relation.getProperty().getName(); Object proxy = getLazyEntity(entityName, relation.getTargetEntity(), m.getReadIdentifierMethod(), m.getWriteIdentifierMethod(), relationValue, pd); PropertyAccessorHelper.set(entity, relation.getProperty(), proxy); + relation.getProperty().getName(); Object proxy = getLazyEntity(entityName, relation.getTargetEntity(), m.getReadIdentifierMethod(), m.getWriteIdentifierMethod(), entityId, pd); PropertyAccessorHelper.set(entity, relation.getProperty(), proxy);
Object relationEntity = pd.getClient(targetEntityMetadata).find(relation.getTargetEntity(), relationValue != null ? relationValue : entityId); if (relationEntity != null) entityId, relation.getTargetEntity());
@Test public void testMetamodel() { EntityMetadata m1 = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, Actor.class); Assert.assertNotNull(m1); Assert.assertEquals(Actor.class, m1.getEntityClazz()); Assert.assertEquals(Role.class, m1.getRelation("movies").getMapKeyJoinClass()); Assert.assertEquals(Movie.class, m1.getRelation("movies").getTargetEntity()); Assert.assertEquals("ACTS_IN", m1.getRelation("movies").getJoinColumnName(kunderaMetadata)); EntityMetadata m2 = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, Movie.class); Assert.assertNotNull(m2); Assert.assertEquals(Movie.class, m2.getEntityClazz()); Assert.assertEquals(Role.class, m2.getRelation("actors").getMapKeyJoinClass()); Assert.assertEquals(Actor.class, m2.getRelation("actors").getTargetEntity()); Assert.assertNotNull(m2.getRelation("actors").getJoinColumnName(kunderaMetadata)); Assert.assertEquals(m2.getRelation("actors").getJoinColumnName(kunderaMetadata),"actors"); EntityMetadata m3 = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, Role.class); Assert.assertNotNull(m3); Assert.assertEquals(Role.class, m3.getEntityClazz()); Metamodel mm = KunderaMetadataManager.getMetamodel(kunderaMetadata, "imdb"); Assert.assertNotNull(mm); }
.entity(relation.getTargetEntity()).getAttribute(embeddableAttributeAsStr); String targetColumnName = targetAttribute.getJPAColumnName();
: null; EntityMetadata targetEntityMetadata = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, relation.getTargetEntity());
Class<?> targetEntityClass = relation.getTargetEntity(); EntityMetadata targetEntityMetadata = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, targetEntityClass);
/** * Returns mapped relational name, in case of bi directional mapping, it * will return back pKey name of associated entity. * * @param relation * holding relation. * @return mapped/join column name. */ public static String getMappedName(EntityMetadata parentMetadata, Relation relation, final KunderaMetadata kunderaMetadata) { if (relation != null) { String joinColumn = relation.getJoinColumnName(kunderaMetadata); if (joinColumn == null) { Class clazz = relation.getTargetEntity(); EntityMetadata metadata = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, clazz); joinColumn = relation.getType().equals(ForeignKey.ONE_TO_MANY) ? ((AbstractAttribute) parentMetadata .getIdAttribute()).getJPAColumnName() : ((AbstractAttribute) metadata.getIdAttribute()) .getJPAColumnName(); } return joinColumn; } return null; }
relation.getTargetEntity()); Class columnJavaType = owningEntityMetadata.getIdAttribute().getJavaType(); if (jtMetadata == null) relation.getTargetEntity()); Object child = delegator.find(relation.getTargetEntity(), foreignKey); Object obj = child instanceof EnhanceEntity && child != null ? ((EnhanceEntity) child).getEntity() : child;
EntityMetadata associatedMetadata = metaModel.getEntityMetadata(relation.getTargetEntity()); EntityType associatedEntityType = metaModel.entity(associatedMetadata.getEntityClazz());
if (relation.isUnary() && relation.getTargetEntity().isAssignableFrom(originalEntity.getClass())) .getJoinColumnName(kunderaMetadata)) : null; final EntityMetadata targetEntityMetadata = KunderaMetadataManager.getEntityMetadata( kunderaMetadata, relation.getTargetEntity()); List immediateRelations = fetchRelations(relation, metadata, pd, entityId, relationValue, targetEntityMetadata);
&& !field.getType().equals(relation.getTargetEntity()))
Class entityClass = relation.getTargetEntity(); EntityMetadata targetEntityMetadata = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, entityClass);
.getEntityMetadata(kunderaMetadata, relation.getTargetEntity()); if (!relation.getType().equals(ForeignKey.MANY_TO_MANY))
relation.getTargetEntity()); if (((relation.getType().equals(ForeignKey.ONE_TO_ONE) && !relation.isJoinedByPrimaryKey()) || relation .getType().equals(ForeignKey.MANY_TO_MANY)) && relation.getMappedBy() == null)
.getTargetEntity()); if (((relation.getType().equals(ForeignKey.ONE_TO_ONE) && !relation.isJoinedByPrimaryKey()) || relation .getType().equals(ForeignKey.MANY_TO_MANY)) && relation.getMappedBy() == null)