类javax.persistence.FetchType源码实例Demo

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

protected boolean isJpaLazy(Collection<Annotation> annotations, boolean isAssociation) {
	for (Annotation annotation : annotations) {
		if (annotation instanceof OneToMany) {
			OneToMany oneToMany = (OneToMany) annotation;
			return oneToMany.fetch() == FetchType.LAZY;
		}
		if (annotation instanceof ManyToOne) {
			ManyToOne manyToOne = (ManyToOne) annotation;
			return manyToOne.fetch() == FetchType.LAZY;
		}
		if (annotation instanceof ManyToMany) {
			ManyToMany manyToMany = (ManyToMany) annotation;
			return manyToMany.fetch() == FetchType.LAZY;
		}
		if (annotation instanceof ElementCollection) {
			ElementCollection elementCollection = (ElementCollection) annotation;
			return elementCollection.fetch() == FetchType.LAZY;
		}
	}
	return isAssociation;
}
 
源代码2 项目: aws-photosharing-example   文件: User.java
@XmlTransient
 @LazyCollection(LazyCollectionOption.EXTRA)
 @ManyToMany(fetch=FetchType.LAZY, cascade=CascadeType.ALL)
 @JoinTable(name = "role_mappings", joinColumns = { 
@JoinColumn(name = "user_id", nullable = false, updatable = false) }, 
inverseJoinColumns = { @JoinColumn(name = "role", 
		nullable = false, updatable = false) })
 public List<Role> getRoles() {return _roles;}
 
源代码3 项目: lams   文件: AnnotationBinder.java
public static FetchMode getFetchMode(FetchType fetch) {
	if ( fetch == FetchType.EAGER ) {
		return FetchMode.JOIN;
	}
	else {
		return FetchMode.SELECT;
	}
}
 
源代码4 项目: lams   文件: JPAOverriddenAnnotationReader.java
private void getFetchType(AnnotationDescriptor descriptor, Element element) {
	String fetchString = element != null ? element.attributeValue( "fetch" ) : null;
	if ( fetchString != null ) {
		if ( "eager".equalsIgnoreCase( fetchString ) ) {
			descriptor.setValue( "fetch", FetchType.EAGER );
		}
		else if ( "lazy".equalsIgnoreCase( fetchString ) ) {
			descriptor.setValue( "fetch", FetchType.LAZY );
		}
	}
}
 
源代码5 项目: tianti   文件: Role.java
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "org_role_resource_rel", 
	joinColumns = {@JoinColumn(name = "role_id")},
	inverseJoinColumns = {@JoinColumn(name = "resources_id")})
public Set<Resource> getResources() {
	return resources;
}
 
源代码6 项目: uyuni   文件: ImageOverview.java
/**
 * @return the installed products
 */
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "suseImageInfoInstalledProduct",
    joinColumns = {
        @JoinColumn(name = "image_info_id", nullable = false, updatable = false)},
    inverseJoinColumns = {
        @JoinColumn(name = "installed_product_id", nullable = false, updatable = false)
})
public Set<InstalledProduct> getInstalledProducts() {
    return installedProducts;
}
 
源代码7 项目: uyuni   文件: ImageOverview.java
/**
 * @return the patches
 */
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "rhnImageNeededErrataCache",
        joinColumns = {@JoinColumn(name = "image_id")},
        inverseJoinColumns = {@JoinColumn(name = "errata_id")}
)
public Set<PublishedErrata> getPatches() {
    return patches;
}
 
源代码8 项目: tianti   文件: User.java
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "org_user_role_rel", 
		joinColumns = {@JoinColumn(name = "user_id")}, 
		inverseJoinColumns = {@JoinColumn(name = "role_id")})
@Where(clause="delete_flag=0")
@OrderBy("no")
public Set<Role> getRoles() {
	return roles;
}
 
源代码9 项目: youkefu   文件: MetadataTable.java
/**
 * @return the tableproperty
 */
@Where(clause="impfield=0")	//不载入 设置为 禁用 导入导出的字段
@OneToMany(cascade = CascadeType.ALL,fetch = FetchType.EAGER)
@JoinColumn(name = "dbtableid")
@OrderBy("sortindex")
public List<TableProperties> getTableproperty() {
	return tableproperty;
}
 
源代码10 项目: uyuni   文件: ImageOverview.java
/**
 * @return the channels
 */
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "suseImageInfoChannel",
    joinColumns = {
        @JoinColumn(name = "image_info_id", nullable = false, updatable = false)},
    inverseJoinColumns = {
        @JoinColumn(name = "channel_id", nullable = false, updatable = false)}
)
public Set<Channel> getChannels() {
    return channels;
}
 
源代码11 项目: uyuni   文件: ProfileCustomDataValue.java
/**
 * @return Returns the key.
 */
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "key_id", nullable = false)
public CustomDataKey getKey() {
    return key;
}
 
源代码12 项目: we-cmdb   文件: AdmBasekeyCode.java
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "group_code_id", insertable = false, updatable = false)
public AdmBasekeyCode getGroupBasekeyCode() {
    return this.groupBasekeyCode;
}
 
源代码13 项目: lams   文件: CollectionBinder.java
private void defineFetchingStrategy() {
	LazyCollection lazy = property.getAnnotation( LazyCollection.class );
	Fetch fetch = property.getAnnotation( Fetch.class );
	OneToMany oneToMany = property.getAnnotation( OneToMany.class );
	ManyToMany manyToMany = property.getAnnotation( ManyToMany.class );
	ElementCollection elementCollection = property.getAnnotation( ElementCollection.class );
	ManyToAny manyToAny = property.getAnnotation( ManyToAny.class );
	FetchType fetchType;
	if ( oneToMany != null ) {
		fetchType = oneToMany.fetch();
	}
	else if ( manyToMany != null ) {
		fetchType = manyToMany.fetch();
	}
	else if ( elementCollection != null ) {
		fetchType = elementCollection.fetch();
	}
	else if ( manyToAny != null ) {
		fetchType = FetchType.LAZY;
	}
	else {
		throw new AssertionFailure(
				"Define fetch strategy on a property not annotated with @ManyToOne nor @OneToMany nor @CollectionOfElements"
		);
	}
	if ( lazy != null ) {
		collection.setLazy( !( lazy.value() == LazyCollectionOption.FALSE ) );
		collection.setExtraLazy( lazy.value() == LazyCollectionOption.EXTRA );
	}
	else {
		collection.setLazy( fetchType == FetchType.LAZY );
		collection.setExtraLazy( false );
	}
	if ( fetch != null ) {
		if ( fetch.value() == org.hibernate.annotations.FetchMode.JOIN ) {
			collection.setFetchMode( FetchMode.JOIN );
			collection.setLazy( false );
		}
		else if ( fetch.value() == org.hibernate.annotations.FetchMode.SELECT ) {
			collection.setFetchMode( FetchMode.SELECT );
		}
		else if ( fetch.value() == org.hibernate.annotations.FetchMode.SUBSELECT ) {
			collection.setFetchMode( FetchMode.SELECT );
			collection.setSubselectLoadable( true );
			collection.getOwner().setSubselectLoadableCollections( true );
		}
		else {
			throw new AssertionFailure( "Unknown FetchMode: " + fetch.value() );
		}
	}
	else {
		collection.setFetchMode( AnnotationBinder.getFetchMode( fetchType ) );
	}
}
 
源代码14 项目: we-cmdb   文件: AdmStateTransition.java
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "operation", insertable = false, updatable = false)
public AdmBasekeyCode getOperationCode() {
    return operationCode;
}
 
源代码15 项目: we-cmdb   文件: AdmRole.java
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "parent_id_adm_role")
public AdmRole getAdmRole() {
    return this.admRole;
}
 
源代码16 项目: we-cmdb   文件: AdmRole.java
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_adm_tenement")
public AdmTenement getAdmTenement() {
    return this.admTenement;
}
 
源代码17 项目: ponto-inteligente-api   文件: Funcionario.java
@OneToMany(mappedBy = "funcionario", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
public List<Lancamento> getLancamentos() {
	return lancamentos;
}
 
源代码18 项目: uyuni   文件: ImageProfile.java
/**
 * @return the custom data values
 */
@OneToMany(fetch = FetchType.LAZY, mappedBy = "profile")
public Set<ProfileCustomDataValue> getCustomDataValues() {
    return customDataValues;
}
 
源代码19 项目: we-cmdb   文件: AdmUserPartner.java
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_adm_user")
public AdmUser getAdmUser() {
    return this.admUser;
}
 
源代码20 项目: we-cmdb   文件: AdmUser.java
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_adm_tenement")
public AdmTenement getAdmTenement() {
	return this.admTenement;
}
 
源代码21 项目: we-cmdb   文件: AdmRoleCiType.java
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_adm_role", insertable = false, updatable = false)
public AdmRole getAdmRole() {
    return this.admRole;
}
 
源代码22 项目: aws-photosharing-example   文件: User.java
@XmlTransient
@OneToOne(cascade=CascadeType.ALL, orphanRemoval=true, optional=true, fetch=FetchType.LAZY)	
public Media getProfilePicture() {return _pic;}
 
源代码23 项目: we-cmdb   文件: AdmCiTypeAttrGroup.java
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_adm_ci_type_attr")
public AdmCiTypeAttr getAdmCiTypeAttr() {
    return this.admCiTypeAttr;
}
 
源代码24 项目: we-cmdb   文件: AdmTemplateCiTypeAliasUniq.java
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_adm_attr_group")
public AdmAttrGroup getAdmAttrGroup() {
    return this.admAttrGroup;
}
 
源代码25 项目: we-cmdb   文件: AdmTemplateCiTypeAliasUniq.java
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_adm_ci_type_attr")
public AdmCiTypeAttr getAdmCiTypeAttr() {
    return this.admCiTypeAttr;
}
 
源代码26 项目: quarkus   文件: Person.java
@ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
public Address getAddress() {
    return address;
}
 
源代码27 项目: we-cmdb   文件: AdmBasekeyCat.java
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_adm_basekey_cat_type", insertable = false, updatable = false)
public AdmBasekeyCatType getAdmBasekeyCatType() {
    return this.admBasekeyCatType;
}
 
源代码28 项目: lams   文件: AnnotationBinder.java
private static void bindAny(
		String cascadeStrategy,
		Ejb3JoinColumn[] columns,
		boolean cascadeOnDelete,
		Nullability nullability,
		PropertyHolder propertyHolder,
		PropertyData inferredData,
		EntityBinder entityBinder,
		boolean isIdentifierMapper,
		MetadataBuildingContext buildingContext) {
	org.hibernate.annotations.Any anyAnn = inferredData.getProperty()
			.getAnnotation( org.hibernate.annotations.Any.class );
	if ( anyAnn == null ) {
		throw new AssertionFailure(
				"Missing @Any annotation: "
						+ BinderHelper.getPath( propertyHolder, inferredData )
		);
	}
	Any value = BinderHelper.buildAnyValue(
			anyAnn.metaDef(),
			columns,
			anyAnn.metaColumn(),
			inferredData,
			cascadeOnDelete,
			nullability,
			propertyHolder,
			entityBinder,
			anyAnn.optional(),
			buildingContext
	);

	PropertyBinder binder = new PropertyBinder();
	binder.setName( inferredData.getPropertyName() );
	binder.setValue( value );

	binder.setLazy( anyAnn.fetch() == FetchType.LAZY );
	//binder.setCascade(cascadeStrategy);
	if ( isIdentifierMapper ) {
		binder.setInsertable( false );
		binder.setUpdatable( false );
	}
	else {
		binder.setInsertable( columns[0].isInsertable() );
		binder.setUpdatable( columns[0].isUpdatable() );
	}
	binder.setAccessType( inferredData.getDefaultAccess() );
	binder.setCascade( cascadeStrategy );
	Property prop = binder.makeProperty();
	//composite FK columns are in the same table so its OK
	propertyHolder.addProperty( prop, columns, inferredData.getDeclaringClass() );
}
 
源代码29 项目: we-cmdb   文件: AdmRoleUser.java
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_adm_role", insertable = false, updatable = false)
public AdmRole getAdmRole() {
    return this.admRole;
}
 
源代码30 项目: we-cmdb   文件: AdmRoleUser.java
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_adm_user", insertable = false, updatable = false)
public AdmUser getAdmUser() {
    return this.admUser;
}
 
 类所在包
 类方法
 同包方法