下面列出了怎么用javax.persistence.NamedQueries的API类实例代码及写法,或者点击链接到github查看源代码。
private NamedQueries getNamedQueries(Element tree, XMLContext.Default defaults) {
//TODO avoid the Proxy Creation (@NamedQueries) when possible
List<NamedQuery> queries = (List<NamedQuery>) buildNamedQueries( tree, false, defaults, classLoaderAccess );
if ( defaults.canUseJavaAnnotations() ) {
NamedQuery annotation = getPhysicalAnnotation( NamedQuery.class );
addNamedQueryIfNeeded( annotation, queries );
NamedQueries annotations = getPhysicalAnnotation( NamedQueries.class );
if ( annotations != null ) {
for ( NamedQuery current : annotations.value() ) {
addNamedQueryIfNeeded( current, queries );
}
}
}
if ( queries.size() > 0 ) {
AnnotationDescriptor ad = new AnnotationDescriptor( NamedQueries.class );
ad.setValue( "value", queries.toArray( new NamedQuery[queries.size()] ) );
return AnnotationFactory.create( ad );
}
else {
return null;
}
}
public static void bindQueries(NamedQueries queriesAnn, MetadataBuildingContext context, boolean isDefault) {
if ( queriesAnn == null ) {
return;
}
for (NamedQuery q : queriesAnn.value()) {
bindQuery( q, context, isDefault );
}
}
public static void bindQueries(
org.hibernate.annotations.NamedQueries queriesAnn,
MetadataBuildingContext context) {
if ( queriesAnn == null ) {
return;
}
for (org.hibernate.annotations.NamedQuery q : queriesAnn.value()) {
bindQuery( q, context );
}
}
public XAnnotation<?> createNamedQueries(
Collection<NamedQuery> cNamedQueries) {
return transform(
NamedQueries.class,
javax.persistence.NamedQuery.class,
cNamedQueries,
new Transformer<NamedQuery, XAnnotation<javax.persistence.NamedQuery>>() {
public XAnnotation<javax.persistence.NamedQuery> transform(
NamedQuery input) {
return createNamedQuery(input);
}
});
}