Refine search
/** * @return the authorizedGrantTypes */ @ElementCollection(fetch = FetchType.EAGER) @CollectionTable( name="client_grant_type", joinColumns=@JoinColumn(name="owner_id") ) @Column(name="grant_type") public Set<String> getGrantTypes() { return grantTypes; }
@Entity public class WealthyPerson extends Person { @ElementCollection protected Set<Address> vacationHomes = new HashSet<Address>(); @ElementCollection protected Set<Address> legacyVacationHomes = new HashSet<Address>(); @ElementCollection @CollectionTable(name = "WelPers_VacHomes", indexes = @Index( columnList = "countryName, type_id")) protected Set<Address> explicitVacationHomes = new HashSet<Address>(); }
@ElementCollection(fetch = FetchType.EAGER) @CollectionTable( name = "investments", joinColumns = @JoinColumn( name = "customer_id" ) ) public List<Investment> getInvestments() { return investments; } public void setInvestments(List<Investment> investments) {
@ElementCollection @CollectionTable(name = "Add_Inh") public Set<Inhabitant> getInhabitants() { return inhabitants; }
assertAnnotationPresent( CollectionTable.class ); CollectionTable tableAnno = reader.getAnnotation( CollectionTable.class ); assertEquals( "table1", tableAnno.name() ); assertEquals( "catalog1", tableAnno.catalog() ); assertEquals( "schema1", tableAnno.schema() ); JoinColumn[] joinColumns = tableAnno.joinColumns(); assertEquals( 2, joinColumns.length ); assertEquals( "", joinColumns[0].name() ); assertEquals( "", joinColumns[0].referencedColumnName() ); assertEquals( "", joinColumns[0].table() ); assertEquals( "", joinColumns[0].columnDefinition() ); assertTrue( joinColumns[0].insertable() ); UniqueConstraint[] uniqueConstraints = tableAnno.uniqueConstraints(); assertEquals( 2, uniqueConstraints.length ); assertEquals( "", uniqueConstraints[0].name() );
private void readElementCollection(DeployBeanPropertyAssocMany<?> prop, ElementCollection elementCollection) { if (!elementCollection.targetClass().equals(void.class)) { prop.setTargetType(elementCollection.targetClass()); prop.setDbColumn(column.name()); prop.setDbLength(column.length()); prop.setDbScale(column.scale()); prop.getTableJoin().addJoinColumn(true, collectionTable.joinColumns(), localTable);
@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 ); }
public EcInfo(Attribute attr, Attribute idAttr) { attr.attache = this; ElementCollection ec = attr.field.getAnnotation(ElementCollection.class); targetClass = ec.targetClass(); Class<?> type = attr.field.getType(); if (type.isArray()) { assert (ct.name().length() > 0) : "Please sepcify the table for " + attr.field.getName(); StringBuilder selectBuf = new StringBuilder("SELECT "); StringBuilder insertBuf = new StringBuilder("INSERT INTO "); StringBuilder clearBuf = new StringBuilder("DELETE FROM "); clearBuf.append(ct.name()).append(" WHERE "); selectBuf.append(attr.columnName); selectBuf.append(" FROM ").append(ct.name()).append(", ").append(attr.table); selectBuf.append(" WHERE "); insertBuf.append(ct.name()).append("("); StringBuilder valuesBuf = new StringBuilder("SELECT "); for (JoinColumn jc : ct.joinColumns()) { selectBuf.append(ct.name()).append(".").append(jc.name()).append("="); 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());
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; } }
/** * Return the full table name */ private String getFullTableName(CollectionTable collectionTable) { if (collectionTable == null || collectionTable.name().isEmpty()) { return null; } StringBuilder sb = new StringBuilder(); if (!StringHelper.isNull(collectionTable.catalog())) { sb.append(collectionTable.catalog()).append("."); } if (!StringHelper.isNull(collectionTable.schema())) { sb.append(collectionTable.schema()).append("."); } sb.append(collectionTable.name()); return sb.toString(); }
final CollectionTable collectionTableAnn = property.getAnnotation( CollectionTable.class ); if ( collectionTableAnn != null ) { if ( collectionTableAnn.foreignKey().value() == ConstraintMode.NO_CONSTRAINT ) { key.setForeignKeyName( "none" ); key.setForeignKeyName( StringHelper.nullIfEmpty( collectionTableAnn.foreignKey().name() ) ); key.setForeignKeyDefinition( StringHelper.nullIfEmpty( collectionTableAnn.foreignKey().foreignKeyDefinition() ) ); 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() ) ); final JoinColumn joinColumnAnn = joinTableAnn.joinColumns()[0]; if ( "".equals( foreignKeyName ) ) { foreignKeyName = joinColumnAnn.foreignKey().name(); foreignKeyDefinition = joinColumnAnn.foreignKey().foreignKeyDefinition();
@Override public String getTableName() { return jpaJoinTable.name(); }
@Entity public class ExchangeOffice { public ExchangeOffice() { @ElementCollection @CollectionTable(name = "ExchangeO_exchangeRateFees") private Map<ExchangeRateKey, BigDecimal> exchangeRateFees = new java.util.HashMap<ExchangeRateKey, BigDecimal>();
@ElementCollection @CollectionTable(name = "user_email_addresses2", joinColumns = @JoinColumn(name = "user_id", referencedColumnName = "id")) public Set<EmailAddress> getEmailAddresses2() { return emailAddresses2; }
private void readElementCollection(DeployBeanPropertyAssocMany<?> prop, ElementCollection elementCollection) { if (!elementCollection.targetClass().equals(void.class)) { prop.setTargetType(elementCollection.targetClass()); prop.setDbColumn(column.name()); prop.setDbLength(column.length()); prop.setDbScale(column.scale()); prop.getTableJoin().addJoinColumn(true, collectionTable.joinColumns(), localTable);
catalog = collectionTable.catalog(); schema = collectionTable.schema(); tableName = collectionTable.name(); uniqueConstraints = collectionTable.uniqueConstraints(); joins = collectionTable.joinColumns(); inverseJoins = null; jpaIndexes = collectionTable.indexes();
public EcInfo(final Attribute attr, final Attribute idAttr) { attr.attache = this; final ElementCollection ec = attr.field.getAnnotation(ElementCollection.class); targetClass = ec.targetClass(); final Class<?> type = attr.field.getType(); if (type.isArray()) { assert (ct.name().length() > 0) : "Please sepcify the table for " + attr.field.getName(); final StringBuilder selectBuf = new StringBuilder("SELECT "); final StringBuilder insertBuf = new StringBuilder("INSERT INTO "); final StringBuilder clearBuf = new StringBuilder("DELETE FROM "); clearBuf.append(ct.name()).append(" WHERE "); selectBuf.append(attr.columnName); selectBuf.append(" FROM ").append(ct.name()).append(", ").append(attr.table); selectBuf.append(" WHERE "); insertBuf.append(ct.name()).append("("); 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) { 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());
public IntermediateCollectionTable(final CollectionTable jpaJoinTable, final IntermediateSchema schema) throws ODataJPAModelException { super(); this.jpaJoinTable = jpaJoinTable; this.jpaEntityType = schema.getEntityType(jpaJoinTable.catalog(), jpaJoinTable.schema(), jpaJoinTable.name()); this.joinColumns = buildJoinColumns(sourceType); }
final CollectionTable collectionTableAnn = property.getAnnotation( CollectionTable.class ); if ( collectionTableAnn != null ) { if ( collectionTableAnn.foreignKey().value() == ConstraintMode.NO_CONSTRAINT ) { key.setForeignKeyName( "none" ); key.setForeignKeyName( StringHelper.nullIfEmpty( collectionTableAnn.foreignKey().name() ) ); key.setForeignKeyDefinition( StringHelper.nullIfEmpty( collectionTableAnn.foreignKey().foreignKeyDefinition() ) ); 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() ) ); final JoinColumn joinColumnAnn = joinTableAnn.joinColumns()[0]; if ( "".equals( foreignKeyName ) ) { foreignKeyName = joinColumnAnn.foreignKey().name(); foreignKeyDefinition = joinColumnAnn.foreignKey().foreignKeyDefinition();