类javax.persistence.PrimaryKeyJoinColumn源码实例Demo

下面列出了怎么用javax.persistence.PrimaryKeyJoinColumn的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: lams   文件: JPAOverriddenAnnotationReader.java
/**
 * @param mergeWithAnnotations Whether to use Java annotations for this
 * element, if present and not disabled by the XMLContext defaults.
 * In some contexts (such as an association mapping) merging with
 * annotations is never allowed.
 */
private PrimaryKeyJoinColumns getPrimaryKeyJoinColumns(Element element, XMLContext.Default defaults, boolean mergeWithAnnotations) {
	PrimaryKeyJoinColumn[] columns = buildPrimaryKeyJoinColumns( element );
	if ( mergeWithAnnotations ) {
		if ( columns.length == 0 && defaults.canUseJavaAnnotations() ) {
			PrimaryKeyJoinColumn annotation = getPhysicalAnnotation( PrimaryKeyJoinColumn.class );
			if ( annotation != null ) {
				columns = new PrimaryKeyJoinColumn[] { annotation };
			}
			else {
				PrimaryKeyJoinColumns annotations = getPhysicalAnnotation( PrimaryKeyJoinColumns.class );
				columns = annotations != null ? annotations.value() : columns;
			}
		}
	}
	if ( columns.length > 0 ) {
		AnnotationDescriptor ad = new AnnotationDescriptor( PrimaryKeyJoinColumns.class );
		ad.setValue( "value", columns );
		return AnnotationFactory.create( ad );
	}
	else {
		return null;
	}
}
 
源代码2 项目: lams   文件: JPAOverriddenAnnotationReader.java
private PrimaryKeyJoinColumn[] buildPrimaryKeyJoinColumns(Element element) {
	if ( element == null ) {
		return new PrimaryKeyJoinColumn[] { };
	}
	List pkJoinColumnElementList = element.elements( "primary-key-join-column" );
	PrimaryKeyJoinColumn[] pkJoinColumns = new PrimaryKeyJoinColumn[pkJoinColumnElementList.size()];
	int index = 0;
	Iterator pkIt = pkJoinColumnElementList.listIterator();
	while ( pkIt.hasNext() ) {
		Element subelement = (Element) pkIt.next();
		AnnotationDescriptor pkAnn = new AnnotationDescriptor( PrimaryKeyJoinColumn.class );
		copyStringAttribute( pkAnn, subelement, "name", false );
		copyStringAttribute( pkAnn, subelement, "referenced-column-name", false );
		copyStringAttribute( pkAnn, subelement, "column-definition", false );
		pkJoinColumns[index++] = AnnotationFactory.create( pkAnn );
	}
	return pkJoinColumns;
}
 
源代码3 项目: cosmic   文件: DbUtil.java
public static PrimaryKeyJoinColumn[] getPrimaryKeyJoinColumns(final Class<?> clazz) {
    final PrimaryKeyJoinColumn pkjc = clazz.getAnnotation(PrimaryKeyJoinColumn.class);
    if (pkjc != null) {
        return new PrimaryKeyJoinColumn[]{pkjc};
    }

    final PrimaryKeyJoinColumns pkjcs = clazz.getAnnotation(PrimaryKeyJoinColumns.class);
    if (pkjcs != null) {
        return pkjcs.value();
    }

    return null;
}
 
源代码4 项目: cosmic   文件: SqlGenerator.java
protected static void addPrimaryKeyJoinColumns(final StringBuilder sql, final String fromTable, final String toTable, final String joinType, final PrimaryKeyJoinColumn[]
        pkjcs) {
    if ("right".equalsIgnoreCase(joinType)) {
        sql.append(" RIGHT JOIN ").append(toTable).append(" ON ");
    } else if ("left".equalsIgnoreCase(joinType)) {
        sql.append(" LEFT JOIN ").append(toTable).append(" ON ");
    } else {
        sql.append(" INNER JOIN ").append(toTable).append(" ON ");
    }
    for (final PrimaryKeyJoinColumn pkjc : pkjcs) {
        sql.append(fromTable).append(".").append(pkjc.name());
        final String refColumn = DbUtil.getReferenceColumn(pkjc);
        sql.append("=").append(toTable).append(".").append(refColumn).append(" ");
    }
}
 
源代码5 项目: scheduling   文件: JobData.java
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true, mappedBy = "jobData")
@Fetch(FetchMode.SELECT)
@BatchSize(size = 10)
@MapKey(name = "jobId")
@PrimaryKeyJoinColumn(name = "JOB_ID")
public List<JobContent> getJobContent() {
    return jobContent;
}
 
源代码6 项目: cloudstack   文件: DbUtil.java
public static PrimaryKeyJoinColumn[] getPrimaryKeyJoinColumns(Class<?> clazz) {
    PrimaryKeyJoinColumn pkjc = clazz.getAnnotation(PrimaryKeyJoinColumn.class);
    if (pkjc != null) {
        return new PrimaryKeyJoinColumn[] {pkjc};
    }

    PrimaryKeyJoinColumns pkjcs = clazz.getAnnotation(PrimaryKeyJoinColumns.class);
    if (pkjcs != null) {
        return pkjcs.value();
    }

    return null;
}
 
源代码7 项目: cloudstack   文件: SqlGenerator.java
protected static void addPrimaryKeyJoinColumns(StringBuilder sql, String fromTable, String toTable, String joinType, PrimaryKeyJoinColumn[] pkjcs) {
    if ("right".equalsIgnoreCase(joinType)) {
        sql.append(" RIGHT JOIN ").append(toTable).append(" ON ");
    } else if ("left".equalsIgnoreCase(joinType)) {
        sql.append(" LEFT JOIN ").append(toTable).append(" ON ");
    } else {
        sql.append(" INNER JOIN ").append(toTable).append(" ON ");
    }
    for (PrimaryKeyJoinColumn pkjc : pkjcs) {
        sql.append(fromTable).append(".").append(pkjc.name());
        String refColumn = DbUtil.getReferenceColumn(pkjc);
        sql.append("=").append(toTable).append(".").append(refColumn).append(" ");
    }
}
 
源代码8 项目: lams   文件: EntityBinder.java
private void createPrimaryColumnsToSecondaryTable(Object uncastedColumn, PropertyHolder propertyHolder, Join join) {
	Ejb3JoinColumn[] ejb3JoinColumns;
	PrimaryKeyJoinColumn[] pkColumnsAnn = null;
	JoinColumn[] joinColumnsAnn = null;
	if ( uncastedColumn instanceof PrimaryKeyJoinColumn[] ) {
		pkColumnsAnn = (PrimaryKeyJoinColumn[]) uncastedColumn;
	}
	if ( uncastedColumn instanceof JoinColumn[] ) {
		joinColumnsAnn = (JoinColumn[]) uncastedColumn;
	}
	if ( pkColumnsAnn == null && joinColumnsAnn == null ) {
		ejb3JoinColumns = new Ejb3JoinColumn[1];
		ejb3JoinColumns[0] = Ejb3JoinColumn.buildJoinColumn(
				null,
				null,
				persistentClass.getIdentifier(),
				secondaryTables,
				propertyHolder,
				context
		);
	}
	else {
		int nbrOfJoinColumns = pkColumnsAnn != null ?
				pkColumnsAnn.length :
				joinColumnsAnn.length;
		if ( nbrOfJoinColumns == 0 ) {
			ejb3JoinColumns = new Ejb3JoinColumn[1];
			ejb3JoinColumns[0] = Ejb3JoinColumn.buildJoinColumn(
					null,
					null,
					persistentClass.getIdentifier(),
					secondaryTables,
					propertyHolder,
					context
			);
		}
		else {
			ejb3JoinColumns = new Ejb3JoinColumn[nbrOfJoinColumns];
			if ( pkColumnsAnn != null ) {
				for (int colIndex = 0; colIndex < nbrOfJoinColumns; colIndex++) {
					ejb3JoinColumns[colIndex] = Ejb3JoinColumn.buildJoinColumn(
							pkColumnsAnn[colIndex],
							null,
							persistentClass.getIdentifier(),
							secondaryTables,
							propertyHolder,
							context
					);
				}
			}
			else {
				for (int colIndex = 0; colIndex < nbrOfJoinColumns; colIndex++) {
					ejb3JoinColumns[colIndex] = Ejb3JoinColumn.buildJoinColumn(
							null,
							joinColumnsAnn[colIndex],
							persistentClass.getIdentifier(),
							secondaryTables,
							propertyHolder,
							context
					);
				}
			}
		}
	}

	for (Ejb3JoinColumn joinColumn : ejb3JoinColumns) {
		joinColumn.forceNotNull();
	}
	bindJoinToPersistentClass( join, ejb3JoinColumns, context );
}
 
源代码9 项目: Spring-MVC-Blueprints   文件: Login.java
@OneToOne(fetch = FetchType.LAZY)
@PrimaryKeyJoinColumn
public CustomerAccount getCustomerAccount() {
	return this.customerAccount;
}
 
源代码10 项目: Spring-MVC-Blueprints   文件: Login.java
@Cache(usage=CacheConcurrencyStrategy.READ_WRITE)
@OneToOne(fetch = FetchType.LAZY)
@PrimaryKeyJoinColumn
public CustomerAccount getCustomerAccount() {
	return this.customerAccount;
}
 
源代码11 项目: Spring-MVC-Blueprints   文件: InvoicedProducts.java
@OneToOne(fetch = FetchType.LAZY)
@PrimaryKeyJoinColumn
public Invoice getInvoice() {
	return this.invoice;
}
 
源代码12 项目: Spring-MVC-Blueprints   文件: Login.java
@OneToOne(fetch = FetchType.LAZY)
@PrimaryKeyJoinColumn
public User getUser() {
	return this.user;
}
 
源代码13 项目: Spring-MVC-Blueprints   文件: InvoicedProducts.java
@OneToOne(fetch = FetchType.LAZY)
@PrimaryKeyJoinColumn
public Invoice getInvoice() {
	return this.invoice;
}
 
源代码14 项目: Spring-MVC-Blueprints   文件: Login.java
@OneToOne(fetch = FetchType.LAZY)
@PrimaryKeyJoinColumn
public User getUser() {
	return this.user;
}
 
源代码15 项目: Spring-MVC-Blueprints   文件: Tblgpa.java
@OneToOne(fetch = FetchType.LAZY)
@PrimaryKeyJoinColumn
public Tblstudents getTblstudents() {
	return this.tblstudents;
}
 
源代码16 项目: Spring-MVC-Blueprints   文件: Tblgpa.java
@OneToOne(fetch = FetchType.LAZY)
@PrimaryKeyJoinColumn
public Tblstudents getTblstudents() {
	return this.tblstudents;
}
 
源代码17 项目: Spring-MVC-Blueprints   文件: Login.java
@OneToOne(fetch = FetchType.LAZY)
@PrimaryKeyJoinColumn
public CustomerInfo getCustomerInfo() {
	return this.customerInfo;
}
 
源代码18 项目: pikatimer   文件: Race.java
@OneToOne(cascade=CascadeType.ALL,fetch = FetchType.EAGER)  
@PrimaryKeyJoinColumn
public RaceAwards getAwards() {
    return awards;
}
 
源代码19 项目: pikatimer   文件: Race.java
@OneToOne(cascade=CascadeType.ALL,fetch = FetchType.EAGER)  
@PrimaryKeyJoinColumn
public AgeGroups getAgeGroups() {
    return ageGroups;
}
 
源代码20 项目: cosmic   文件: DbUtil.java
public static String getReferenceColumn(final PrimaryKeyJoinColumn pkjc) {
    return pkjc.referencedColumnName().length() != 0 ? pkjc.referencedColumnName() : pkjc.name();
}
 
源代码21 项目: TinyMooc   文件: ImageText.java
@OneToOne(fetch = FetchType.LAZY)
@PrimaryKeyJoinColumn
public Resource getResource() {
    return this.resource;
}
 
源代码22 项目: TinyMooc   文件: Link.java
@OneToOne(fetch = FetchType.LAZY)
@PrimaryKeyJoinColumn
public Resource getResource() {
    return this.resource;
}
 
源代码23 项目: TinyMooc   文件: Video.java
@OneToOne(fetch = FetchType.LAZY)
@PrimaryKeyJoinColumn
public Resource getResource() {
    return this.resource;
}
 
源代码24 项目: cloudstack   文件: DbUtil.java
public static String getReferenceColumn(PrimaryKeyJoinColumn pkjc) {
    return pkjc.referencedColumnName().length() != 0 ? pkjc.referencedColumnName() : pkjc.name();
}
 
 类所在包
 类方法
 同包方法