@Test public void testCollectionTableNoChildren() throws Exception { reader = getReader( Entity3.class, "field1", "element-collection.orm26.xml" ); assertAnnotationPresent( ElementCollection.class ); assertAnnotationPresent( CollectionTable.class ); CollectionTable tableAnno = reader.getAnnotation( CollectionTable.class ); assertEquals( "", tableAnno.name() ); assertEquals( "", tableAnno.catalog() ); assertEquals( "", tableAnno.schema() ); assertEquals( 0, tableAnno.joinColumns().length ); assertEquals( 0, tableAnno.uniqueConstraints().length ); }
StringBuilder valuesBuf = new StringBuilder("SELECT "); for (JoinColumn jc : ct.joinColumns()) { selectBuf.append(ct.name()).append(".").append(jc.name()).append("="); if (jc.referencedColumnName().length() == 0) {
tableName = collectionTable.name(); uniqueConstraints = collectionTable.uniqueConstraints(); joins = collectionTable.joinColumns(); inverseJoins = null; jpaIndexes = collectionTable.indexes();
if ( key.getForeignKeyName() == null && key.getForeignKeyDefinition() == null && collectionTableAnn.joinColumns().length == 1 ) { JoinColumn joinColumn = collectionTableAnn.joinColumns()[0]; key.setForeignKeyName( StringHelper.nullIfEmpty( joinColumn.foreignKey().name() ) ); key.setForeignKeyDefinition( StringHelper.nullIfEmpty( joinColumn.foreignKey().foreignKeyDefinition() ) );
JoinColumn[] joinColumns = tableAnno.joinColumns(); assertEquals( 2, joinColumns.length ); assertEquals( "", joinColumns[0].name() );
final StringBuilder valuesBuf = new StringBuilder("SELECT "); for (final JoinColumn jc : ct.joinColumns()) { selectBuf.append(ct.name()).append(".").append(jc.name()).append("="); if (jc.referencedColumnName().length() == 0) {
tableName = collectionTable.name(); uniqueConstraints = collectionTable.uniqueConstraints(); joins = collectionTable.joinColumns(); inverseJoins = null;
/** * @param locator * the java locator * @param annotation * the annotation * * @since 2.0.0 */ public CollectionTableMetadataImpl(AbstractLocator locator, CollectionTable annotation) { super(); this.locator = locator; this.catalog = annotation.catalog(); this.schema = annotation.schema(); this.name = annotation.name(); for (final UniqueConstraint constraint : annotation.uniqueConstraints()) { this.uniqueConstraints.add(new UniqueConstraintMetadataImpl(locator, constraint)); } for (final JoinColumn joinColumn : annotation.joinColumns()) { this.joinColumns.add(new JoinColumnMetadataImpl(this.locator, joinColumn)); } }
/** * @param locator * the java locator * @param annotation * the annotation * * @since 2.0.0 */ public CollectionTableMetadataImpl(AbstractLocator locator, CollectionTable annotation) { super(); this.locator = locator; this.catalog = annotation.catalog(); this.schema = annotation.schema(); this.name = annotation.name(); for (final UniqueConstraint constraint : annotation.uniqueConstraints()) { this.uniqueConstraints.add(new UniqueConstraintMetadataImpl(locator, constraint)); } for (final JoinColumn joinColumn : annotation.joinColumns()) { this.joinColumns.add(new JoinColumnMetadataImpl(this.locator, joinColumn)); } }
private List<IntermediateJoinColumn> buildJoinColumns(final IntermediateStructuredType contextType) throws ODataJPAModelException { final List<IntermediateJoinColumn> result = new ArrayList<>(); for (JoinColumn column : jpaJoinTable.joinColumns()) { if (column.referencedColumnName() == null || column.referencedColumnName().isEmpty()) if (jpaJoinTable.joinColumns().length > 1) throw new ODataJPAModelException(NOT_SUPPORTED_NO_IMPLICIT_COLUMNS, getInternalName()); else if (!(contextType instanceof IntermediateEntityType)) throw new ODataJPAModelException(NOT_SUPPORTED_NO_IMPLICIT_COLUMNS_COMPEX, contextType.getInternalName()); else { result.add(new IntermediateJoinColumn( ((IntermediateProperty) ((IntermediateEntityType) contextType).getKey().get(0)) .getDBFieldName(), column.name())); } else result.add(new IntermediateJoinColumn(column.referencedColumnName(), column.name())); } return result; } }
/** * @param locator * the java locator * @param annotation * the annotation * * @since 2.0.0 */ public CollectionTableMetadataImpl(AbstractLocator locator, CollectionTable annotation) { super(); this.locator = locator; this.catalog = annotation.catalog(); this.schema = annotation.schema(); this.name = annotation.name(); for (final UniqueConstraint constraint : annotation.uniqueConstraints()) { this.uniqueConstraints.add(new UniqueConstraintMetadataImpl(locator, constraint)); } for (final JoinColumn joinColumn : annotation.joinColumns()) { this.joinColumns.add(new JoinColumnMetadataImpl(this.locator, joinColumn)); } }
prop.getTableJoin().addJoinColumn(true, collectionTable.joinColumns(), localTable);
public CollectionTableConfig(CollectionTable joinTable) { setName(joinTable.name()); setCatalog(joinTable.catalog()); setSchema(joinTable.schema()); for (JoinColumn joinColumn : joinTable.joinColumns()) { JoinColumnConfig joinColumnConfig = new JoinColumnConfig(joinColumn); addJoinColumn(joinColumnConfig); } }
/** * Parse @CollectionTable. */ protected void parseCollectionTable(FieldMapping fm, CollectionTable ctbl) { FieldMappingInfo info = fm.getMappingInfo(); DBIdentifier tblName = toTableIdentifier(ctbl.schema(), ctbl.name()); info.setTableIdentifier(tblName); //ctbl.catalog() parseJoinColumns(fm, fm.getMappingInfo(), false, ctbl.joinColumns()); addUniqueConstraints(info.getTableIdentifier().getName(), fm.getDefiningMetaData(), info, ctbl.uniqueConstraints()); }
/** * Parse @CollectionTable. */ protected void parseCollectionTable(FieldMapping fm, CollectionTable ctbl) { FieldMappingInfo info = fm.getMappingInfo(); DBIdentifier tblName = toTableIdentifier(ctbl.schema(), ctbl.name()); info.setTableIdentifier(tblName); //ctbl.catalog() parseJoinColumns(fm, fm.getMappingInfo(), false, ctbl.joinColumns()); addUniqueConstraints(info.getTableIdentifier().getName(), fm.getDefiningMetaData(), info, ctbl.uniqueConstraints()); }
/** * Parse @CollectionTable. */ protected void parseCollectionTable(FieldMapping fm, CollectionTable ctbl) { FieldMappingInfo info = fm.getMappingInfo(); DBIdentifier tblName = toTableIdentifier(ctbl.schema(), ctbl.name()); info.setTableIdentifier(tblName); //ctbl.catalog() parseJoinColumns(fm, fm.getMappingInfo(), false, ctbl.joinColumns()); addUniqueConstraints(info.getTableIdentifier().getName(), fm.getDefiningMetaData(), info, ctbl.uniqueConstraints()); }
tableName = collectionTable.name(); uniqueConstraints = collectionTable.uniqueConstraints(); joins = collectionTable.joinColumns(); inverseJoins = null;
tableName = collectionTable.name(); uniqueConstraints = collectionTable.uniqueConstraints(); joins = collectionTable.joinColumns(); inverseJoins = null;
tableName = collectionTable.name(); uniqueConstraints = collectionTable.uniqueConstraints(); joins = collectionTable.joinColumns(); inverseJoins = null; jpaIndexes = collectionTable.indexes();
prop.getTableJoin().addJoinColumn(true, collectionTable.joinColumns(), localTable);