下面列出了怎么用javax.persistence.NamedNativeQueries的API类实例代码及写法,或者点击链接到github查看源代码。
private NamedNativeQueries getNamedNativeQueries(
Element tree,
XMLContext.Default defaults) {
List<NamedNativeQuery> queries = (List<NamedNativeQuery>) buildNamedQueries( tree, true, defaults, classLoaderAccess );
if ( defaults.canUseJavaAnnotations() ) {
NamedNativeQuery annotation = getPhysicalAnnotation( NamedNativeQuery.class );
addNamedNativeQueryIfNeeded( annotation, queries );
NamedNativeQueries annotations = getPhysicalAnnotation( NamedNativeQueries.class );
if ( annotations != null ) {
for ( NamedNativeQuery current : annotations.value() ) {
addNamedNativeQueryIfNeeded( current, queries );
}
}
}
if ( queries.size() > 0 ) {
AnnotationDescriptor ad = new AnnotationDescriptor( NamedNativeQueries.class );
ad.setValue( "value", queries.toArray( new NamedNativeQuery[queries.size()] ) );
return AnnotationFactory.create( ad );
}
else {
return null;
}
}
public static void bindNativeQueries(
NamedNativeQueries queriesAnn,
MetadataBuildingContext context,
boolean isDefault) {
if ( queriesAnn == null ) {
return;
}
for (NamedNativeQuery q : queriesAnn.value()) {
bindNativeQuery( q, context, isDefault );
}
}
public static void bindNativeQueries(
org.hibernate.annotations.NamedNativeQueries queriesAnn,
MetadataBuildingContext context) {
if ( queriesAnn == null ) {
return;
}
for (org.hibernate.annotations.NamedNativeQuery q : queriesAnn.value()) {
bindNativeQuery( q, context );
}
}
public XAnnotation<?> createNamedNativeQuery(
Collection<NamedNativeQuery> cNamedNativeQueries) {
return transform(
NamedNativeQueries.class,
javax.persistence.NamedNativeQuery.class,
cNamedNativeQueries,
new Transformer<NamedNativeQuery, XAnnotation<javax.persistence.NamedNativeQuery>>() {
public XAnnotation<javax.persistence.NamedNativeQuery> transform(
NamedNativeQuery input) {
return createNamedNativeQuery(input);
}
});
}