this.referencedColumn = joinColumn.referencedColumnName(); });
colName = joinAnn.name(); columnDefinition = joinAnn.columnDefinition(); referencedColumnName = joinAnn.referencedColumnName();
/** * When there's a single join column, we still wrap it with a JoinColumns * annotation. */ @Test public void testSingleJoinColumn() throws Exception { reader = getReader( Entity1.class, "field1", "many-to-one.orm2.xml" ); assertAnnotationPresent( ManyToOne.class ); assertAnnotationNotPresent( JoinColumn.class ); assertAnnotationPresent( JoinColumns.class ); assertAnnotationNotPresent( JoinTable.class ); JoinColumns joinColumnsAnno = reader.getAnnotation( JoinColumns.class ); JoinColumn[] joinColumns = joinColumnsAnno.value(); assertEquals( 1, joinColumns.length ); assertEquals( "col1", joinColumns[0].name() ); assertEquals( "col2", joinColumns[0].referencedColumnName() ); assertEquals( "table1", joinColumns[0].table() ); }
if (jc.referencedColumnName().length() == 0) { selectBuf.append(idAttr.table).append(".").append(idAttr.columnName); valuesBuf.append(idAttr.table).append(".").append(idAttr.columnName); clearBuf.append(ct.name()).append(".").append(jc.name()).append("=?"); } else { selectBuf.append(attr.table).append(".").append(jc.referencedColumnName()); valuesBuf.append(attr.table).append(".").append(jc.referencedColumnName()).append(",");
String toSQL() { ZQLMetadata.InventoryMetadata metadata = ZQLMetadata.getInventoryMetadataByName(inventoryClass.getName()); if (metadata == null) { throw new CloudRuntimeException(String.format("cannot find InventoryMetadata for class[%s]", inventoryClass)); } Field primaryKey = EntityMetadata.getPrimaryKeyField(metadata.inventoryAnnotation.mappingVOClass()); Class mappingInventoryClass = annotation.mappingClass(); ZQLMetadata.InventoryMetadata mappingInventoryMetadata = ZQLMetadata.getInventoryMetadataByName(mappingInventoryClass.getName()); String mappingEntityName = mappingInventoryClass.getSimpleName(); return String.format("%s.%s IN (SELECT %s.%s FROM %s %s WHERE %s.%s %%s %%s)", inventoryClass.getSimpleName(), primaryKey.getName(), mappingEntityName, annotation.joinColumn().name(), mappingInventoryMetadata.inventoryAnnotation.mappingVOClass().getSimpleName(), mappingEntityName, mappingEntityName, annotation.joinColumn().referencedColumnName()); } }
/** * Add a JoinColumn * <p> * The order is generally true for OneToMany and false for ManyToOne relationships. * </p> */ public void addJoinColumn(boolean order, JoinColumn jc, BeanTable beanTable) { if (!"".equals(jc.table())) { setTable(jc.table()); } if (!"".equals(jc.name()) || !"".equals(jc.referencedColumnName())) { // only add the join column details when name or referencedColumnName is specified addJoinColumn(new DeployTableJoinColumn(order, jc, beanTable)); } }
@Test public void testMultipleJoinColumns() throws Exception { reader = getReader( Entity1.class, "field1", "many-to-one.orm3.xml" ); assertAnnotationPresent( ManyToOne.class ); assertAnnotationNotPresent( JoinColumn.class ); assertAnnotationPresent( JoinColumns.class ); assertAnnotationNotPresent( JoinTable.class ); JoinColumns joinColumnsAnno = reader.getAnnotation( JoinColumns.class ); JoinColumn[] joinColumns = joinColumnsAnno.value(); assertEquals( 2, joinColumns.length ); assertEquals( "", joinColumns[0].name() ); assertEquals( "", joinColumns[0].referencedColumnName() ); assertEquals( "", joinColumns[0].table() ); assertEquals( "", joinColumns[0].columnDefinition() ); assertTrue( joinColumns[0].insertable() ); assertTrue( joinColumns[0].updatable() ); assertTrue( joinColumns[0].nullable() ); assertFalse( joinColumns[0].unique() ); assertEquals( "col1", joinColumns[1].name() ); assertEquals( "col2", joinColumns[1].referencedColumnName() ); assertEquals( "table1", joinColumns[1].table() ); assertEquals( "int", joinColumns[1].columnDefinition() ); assertFalse( joinColumns[1].insertable() ); assertFalse( joinColumns[1].updatable() ); assertFalse( joinColumns[1].nullable() ); assertTrue( joinColumns[1].unique() ); }
setInsertable( annJoin.insertable() ); setUpdatable( annJoin.updatable() ); setReferencedColumn( annJoin.referencedColumnName() );
entityField = inventoryField; JoinColumn jc = at.joinColumn(); String refName = jc.referencedColumnName(); DebugUtils.Assert(!"".equals(refName), String.format("referencedColumnName of JoinColumn of field[%s] on inventory class[%s] cannot be empty string", inventoryField.getName(), inventoryClass.getName()));
public DeployTableJoinColumn(boolean order, JoinColumn jc, BeanTable beanTable) { this(jc.referencedColumnName(), jc.name(), jc.insertable(), jc.updatable()); setReferencedColumn(beanTable); if (!order) { reverse(); } }
assertEquals( 2, joinColumns.length ); assertEquals( "", joinColumns[0].name() ); assertEquals( "", joinColumns[0].referencedColumnName() ); assertEquals( "", joinColumns[0].table() ); assertEquals( "", joinColumns[0].columnDefinition() ); assertFalse( joinColumns[0].unique() ); assertEquals( "col1", joinColumns[1].name() ); assertEquals( "col2", joinColumns[1].referencedColumnName() ); assertEquals( "table2", joinColumns[1].table() ); assertEquals( "int", joinColumns[1].columnDefinition() ); assertEquals( 2, inverseJoinColumns.length ); assertEquals( "", inverseJoinColumns[0].name() ); assertEquals( "", inverseJoinColumns[0].referencedColumnName() ); assertEquals( "", inverseJoinColumns[0].table() ); assertEquals( "", inverseJoinColumns[0].columnDefinition() ); assertFalse( inverseJoinColumns[0].unique() ); assertEquals( "col3", inverseJoinColumns[1].name() ); assertEquals( "col4", inverseJoinColumns[1].referencedColumnName() ); assertEquals( "table3", inverseJoinColumns[1].table() ); assertEquals( "int", inverseJoinColumns[1].columnDefinition() );
assertEquals( 2, joinColumns.length ); assertEquals( "", joinColumns[0].name() ); assertEquals( "", joinColumns[0].referencedColumnName() ); assertEquals( "", joinColumns[0].table() ); assertEquals( "", joinColumns[0].columnDefinition() ); assertFalse( joinColumns[0].unique() ); assertEquals( "col1", joinColumns[1].name() ); assertEquals( "col2", joinColumns[1].referencedColumnName() ); assertEquals( "table2", joinColumns[1].table() ); assertEquals( "int", joinColumns[1].columnDefinition() ); assertEquals( 2, inverseJoinColumns.length ); assertEquals( "", inverseJoinColumns[0].name() ); assertEquals( "", inverseJoinColumns[0].referencedColumnName() ); assertEquals( "", inverseJoinColumns[0].table() ); assertEquals( "", inverseJoinColumns[0].columnDefinition() ); assertFalse( inverseJoinColumns[0].unique() ); assertEquals( "col3", inverseJoinColumns[1].name() ); assertEquals( "col4", inverseJoinColumns[1].referencedColumnName() ); assertEquals( "table3", inverseJoinColumns[1].table() ); assertEquals( "int", inverseJoinColumns[1].columnDefinition() );
assertEquals( 2, joinColumns.length ); assertEquals( "", joinColumns[0].name() ); assertEquals( "", joinColumns[0].referencedColumnName() ); assertEquals( "", joinColumns[0].table() ); assertEquals( "", joinColumns[0].columnDefinition() ); assertFalse( joinColumns[0].unique() ); assertEquals( "col1", joinColumns[1].name() ); assertEquals( "col2", joinColumns[1].referencedColumnName() ); assertEquals( "table2", joinColumns[1].table() ); assertEquals( "int", joinColumns[1].columnDefinition() ); assertEquals( 2, inverseJoinColumns.length ); assertEquals( "", inverseJoinColumns[0].name() ); assertEquals( "", inverseJoinColumns[0].referencedColumnName() ); assertEquals( "", inverseJoinColumns[0].table() ); assertEquals( "", inverseJoinColumns[0].columnDefinition() ); assertFalse( inverseJoinColumns[0].unique() ); assertEquals( "col3", inverseJoinColumns[1].name() ); assertEquals( "col4", inverseJoinColumns[1].referencedColumnName() ); assertEquals( "table3", inverseJoinColumns[1].table() ); assertEquals( "int", inverseJoinColumns[1].columnDefinition() ); assertEquals( 2, joinColumns.length ); assertEquals( "", joinColumns[0].name() ); assertEquals( "", joinColumns[0].referencedColumnName() ); assertEquals( "", joinColumns[0].table() ); assertEquals( "", joinColumns[0].columnDefinition() );
assertEquals( 2, joinColumns.length ); assertEquals( "", joinColumns[0].name() ); assertEquals( "", joinColumns[0].referencedColumnName() ); assertEquals( "", joinColumns[0].table() ); assertEquals( "", joinColumns[0].columnDefinition() ); assertFalse( joinColumns[0].unique() ); assertEquals( "col1", joinColumns[1].name() ); assertEquals( "col2", joinColumns[1].referencedColumnName() ); assertEquals( "table2", joinColumns[1].table() ); assertEquals( "int", joinColumns[1].columnDefinition() );
colName = joinAnn.name(); columnDefinition = joinAnn.columnDefinition(); referencedColumnName = joinAnn.referencedColumnName();
public void setJoinAnnotation(JoinColumn annJoin, String defaultName) { if ( annJoin == null ) { setImplicit( true ); } else { setImplicit( false ); if ( !BinderHelper.isDefault( annJoin.columnDefinition() ) ) setSqlType( annJoin.columnDefinition() ); if ( !BinderHelper.isDefault( annJoin.name() ) ) setLogicalColumnName( annJoin.name() ); setNullable( annJoin.nullable() ); setUnique( annJoin.unique() ); setInsertable( annJoin.insertable() ); setUpdatable( annJoin.updatable() ); setReferencedColumn( annJoin.referencedColumnName() ); setSecondaryTableName( annJoin.table() ); } }
public DeployTableJoinColumn(boolean order, JoinColumn jc, BeanTable beanTable) { this(jc.referencedColumnName(), jc.name(), jc.insertable(), jc.updatable()); setReferencedColumn(beanTable); if (!order){ reverse(); } }
public DeployTableJoinColumn(boolean order, JoinColumn jc, BeanTable beanTable) { this(jc.referencedColumnName(), jc.name(), jc.insertable(), jc.updatable()); setReferencedColumn(beanTable); if (!order){ reverse(); } }
public DeployTableJoinColumn(boolean order, JoinColumn jc, BeanTable beanTable) { this(jc.referencedColumnName(), jc.name(), jc.insertable(), jc.updatable()); setReferencedColumn(beanTable); if (!order){ reverse(); } }
public JoinColumnConfig(JoinColumn joinColumn) { setName(joinColumn.name()); setReferencedColumnName(joinColumn.referencedColumnName()); setUnique(joinColumn.unique()); setNullable(joinColumn.nullable()); setInsertable(joinColumn.insertable()); setUpdatable(joinColumn.updatable()); setColumnDefinition(joinColumn.columnDefinition()); setTable(joinColumn.table()); }