类javax.persistence.NamedEntityGraph源码实例Demo

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

源代码1 项目: lams   文件: JPAOverriddenAnnotationReader.java
public static List<NamedEntityGraph> buildNamedEntityGraph(
		Element element,
		XMLContext.Default defaults,
		ClassLoaderAccess classLoaderAccess) {
	if ( element == null ) {
		return new ArrayList<>();
	}
	List<NamedEntityGraph> namedEntityGraphList = new ArrayList<>();
	List<Element> namedEntityGraphElements = element.elements( "named-entity-graph" );
	for ( Element subElement : namedEntityGraphElements ) {
		AnnotationDescriptor ann = new AnnotationDescriptor( NamedEntityGraph.class );
		copyStringAttribute( ann, subElement, "name", false );
		copyBooleanAttribute( ann, subElement, "include-all-attributes" );
		bindNamedAttributeNodes( subElement, ann );

		List<Element> subgraphNodes = subElement.elements( "subgraph" );
		List<Element> subclassSubgraphNodes = subElement.elements( "subclass-subgraph" );
		if(!subclassSubgraphNodes.isEmpty()) {
			subgraphNodes.addAll( subclassSubgraphNodes );
		}
		bindNamedSubgraph( defaults, ann, subgraphNodes, classLoaderAccess );
		namedEntityGraphList.add( AnnotationFactory.create( ann ) );
	}
	//TODO
	return namedEntityGraphList;
}
 
源代码2 项目: lams   文件: JPAOverriddenAnnotationReader.java
private NamedEntityGraphs getNamedEntityGraphs(Element tree, XMLContext.Default defaults) {
	List<NamedEntityGraph> queries = buildNamedEntityGraph( tree, defaults, classLoaderAccess );
	if ( defaults.canUseJavaAnnotations() ) {
		NamedEntityGraph annotation = getPhysicalAnnotation( NamedEntityGraph.class );
		addNamedEntityGraphIfNeeded( annotation, queries );
		NamedEntityGraphs annotations = getPhysicalAnnotation( NamedEntityGraphs.class );
		if ( annotations != null ) {
			for ( NamedEntityGraph current : annotations.value() ) {
				addNamedEntityGraphIfNeeded( current, queries );
			}
		}
	}
	if ( queries.size() > 0 ) {
		AnnotationDescriptor ad = new AnnotationDescriptor( NamedEntityGraphs.class );
		ad.setValue( "value", queries.toArray( new NamedEntityGraph[queries.size()] ) );
		return AnnotationFactory.create( ad );
	}
	else {
		return null;
	}
}
 
源代码3 项目: lams   文件: JPAOverriddenAnnotationReader.java
private void addNamedEntityGraphIfNeeded(NamedEntityGraph annotation, List<NamedEntityGraph> queries) {
	if ( annotation != null ) {
		String queryName = annotation.name();
		boolean present = false;
		for ( NamedEntityGraph current : queries ) {
			if ( current.name().equals( queryName ) ) {
				present = true;
				break;
			}
		}
		if ( !present ) {
			queries.add( annotation );
		}
	}

}
 
源代码4 项目: lams   文件: NamedEntityGraphDefinition.java
public NamedEntityGraphDefinition(NamedEntityGraph annotation, String jpaEntityName, String entityName) {
	this.annotation = annotation;
	this.jpaEntityName = jpaEntityName;
	this.entityName = entityName;
	this.name = StringHelper.isNotEmpty( annotation.name() )
			? annotation.name()
			: jpaEntityName;
	if ( name == null ) {
		throw new IllegalArgumentException( "Named entity graph name cannot be null" );
	}
}
 
源代码5 项目: lams   文件: EntityBinder.java
private void processNamedEntityGraphs() {
	processNamedEntityGraph( annotatedClass.getAnnotation( NamedEntityGraph.class ) );
	final NamedEntityGraphs graphs = annotatedClass.getAnnotation( NamedEntityGraphs.class );
	if ( graphs != null ) {
		for ( NamedEntityGraph graph : graphs.value() ) {
			processNamedEntityGraph( graph );
		}
	}
}
 
源代码6 项目: lams   文件: EntityBinder.java
private void processNamedEntityGraph(NamedEntityGraph annotation) {
	if ( annotation == null ) {
		return;
	}
	context.getMetadataCollector().addNamedEntityGraph(
			new NamedEntityGraphDefinition( annotation, name, persistentClass.getEntityName() )
	);
}
 
源代码7 项目: lams   文件: MetamodelImpl.java
@SuppressWarnings("unchecked")
private void applyNamedEntityGraphs(java.util.Collection<NamedEntityGraphDefinition> namedEntityGraphs) {
	for ( NamedEntityGraphDefinition definition : namedEntityGraphs ) {
		log.debugf(
				"Applying named entity graph [name=%s, entity-name=%s, jpa-entity-name=%s",
				definition.getRegisteredName(),
				definition.getEntityName(),
				definition.getJpaEntityName()
		);
		final EntityType entityType = entity( definition.getEntityName() );
		if ( entityType == null ) {
			throw new IllegalArgumentException(
					"Attempted to register named entity graph [" + definition.getRegisteredName()
							+ "] for unknown entity ["+ definition.getEntityName() + "]"

			);
		}
		final EntityGraphImpl entityGraph = new EntityGraphImpl(
				definition.getRegisteredName(),
				entityType,
				this.getSessionFactory()
		);

		final NamedEntityGraph namedEntityGraph = definition.getAnnotation();

		if ( namedEntityGraph.includeAllAttributes() ) {
			for ( Object attributeObject : entityType.getAttributes() ) {
				entityGraph.addAttributeNodes( (Attribute) attributeObject );
			}
		}

		if ( namedEntityGraph.attributeNodes() != null ) {
			applyNamedAttributeNodes( namedEntityGraph.attributeNodes(), namedEntityGraph, entityGraph );
		}

		entityGraphMap.put( definition.getRegisteredName(), entityGraph );
	}
}
 
源代码8 项目: lams   文件: MetamodelImpl.java
private void applyNamedSubgraphs(NamedEntityGraph namedEntityGraph, String subgraphName, SubgraphImpl subgraph) {
	for ( NamedSubgraph namedSubgraph : namedEntityGraph.subgraphs() ) {
		if ( subgraphName.equals( namedSubgraph.name() ) ) {
			applyNamedAttributeNodes(
					namedSubgraph.attributeNodes(),
					namedEntityGraph,
					subgraph
			);
		}
	}
}
 
源代码9 项目: lams   文件: NamedEntityGraphDefinition.java
public NamedEntityGraph getAnnotation() {
	return annotation;
}
 
 类所在包
 类方法
 同包方法