if (multiplicity.equals(Relation.ForeignKey.MANY_TO_ONE))
if (!r.getType().equals(ForeignKey.MANY_TO_MANY) && (r.getProperty().isAnnotationPresent(OneToOne.class) && StringUtils.isBlank(r.getMappedBy()) || r .getProperty().isAnnotationPresent(ManyToOne.class)))
if (!relation.getType().equals(ForeignKey.MANY_TO_MANY))
Object relationValue = relationsMap != null ? relationsMap.get(relationName) : null; if ((relation.getType().equals(ForeignKey.ONE_TO_ONE) || relation.getType().equals(ForeignKey.MANY_TO_ONE))) else if (relation.getType().equals(ForeignKey.ONE_TO_MANY) || relation.getType().equals(ForeignKey.MANY_TO_MANY))
if (relation.getType().equals(ForeignKey.ONE_TO_ONE))
&& multiplicity.equals(ForeignKey.ONE_TO_MANY)) if (multiplicity.equals(ForeignKey.ONE_TO_ONE) || multiplicity.equals(ForeignKey.MANY_TO_ONE)) else if (multiplicity.equals(ForeignKey.MANY_TO_MANY) && ((Field) childNodeLink.getLinkProperty(LinkProperty.PROPERTY)).getType() .isAssignableFrom(Map.class))
List<Relation> relations = metadata.getRelations(); for (Relation relation : relations) { if (relation.getType().equals(ForeignKey.MANY_TO_ONE) || relation.getType().equals(ForeignKey.ONE_TO_ONE)) { String propertyName = relation.getJoinColumnName(null); if (propertyName != null && columnsNameToBeIndexed.contains(propertyName)) {
for (NodeLink childNodeLink : children.keySet()) if (childNodeLink.getMultiplicity().equals(ForeignKey.MANY_TO_ONE))
if (relation.getType().equals(ForeignKey.MANY_TO_MANY))
/** * 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; }
/** * Adds the join table. * * @param relations * the relations */ private void addJoinTable(List<Relation> relations) { for (Relation relation : relations) { if (relation.getType().equals(ForeignKey.MANY_TO_MANY) && relation.isRelatedViaJoinTable()) { String joinTableName = relation.getJoinTableMetadata().getJoinTableName(); String hTableName = HBaseUtils.getHTableName(databaseName, joinTableName); HTableDescriptor tableDescriptor = new HTableDescriptor(TableName.valueOf(hTableName)); tableDescriptor.addFamily(new HColumnDescriptor(joinTableName)); createOrUpdateTable(hTableName, tableDescriptor); } } }