项目:lams
文件:EntityBinder.java
public void firstLevelSecondaryTablesBinding(
SecondaryTable secTable,SecondaryTables secTables
) {
if ( secTables != null ) {
//loop through it
for (SecondaryTable tab : secTables.value()) {
addJoin( tab,null,false );
}
}
else {
if ( secTable != null ) addJoin( secTable,false );
}
}
项目:cosmic
文件:DbUtil.java
public static final SecondaryTable[] getSecondaryTables(final AnnotatedElement clazz) {
SecondaryTable[] sts = null;
final SecondaryTable stAnnotation = clazz.getAnnotation(SecondaryTable.class);
if (stAnnotation == null) {
final SecondaryTables stsAnnotation = clazz.getAnnotation(SecondaryTables.class);
sts = stsAnnotation != null ? stsAnnotation.value() : new SecondaryTable[0];
} else {
sts = new SecondaryTable[]{stAnnotation};
}
return sts;
}
public XAnnotation<?> createSecondaryTables(
List<SecondaryTable> cSecondaryTables) {
return transform(
SecondaryTables.class,javax.persistence.SecondaryTable.class,cSecondaryTables,new Transformer<SecondaryTable,XAnnotation<javax.persistence.SecondaryTable>>() {
public XAnnotation<javax.persistence.SecondaryTable> transform(
SecondaryTable input) {
return createSecondaryTable(input);
}
});
}
项目:cloudstack
文件:DbUtil.java
public static final SecondaryTable[] getSecondaryTables(AnnotatedElement clazz) {
SecondaryTable[] sts = null;
SecondaryTable stAnnotation = clazz.getAnnotation(SecondaryTable.class);
if (stAnnotation == null) {
SecondaryTables stsAnnotation = clazz.getAnnotation(SecondaryTables.class);
sts = stsAnnotation != null ? stsAnnotation.value() : new SecondaryTable[0];
} else {
sts = new SecondaryTable[] {stAnnotation};
}
return sts;
}
项目:lams
文件:JPAOverriddenAnnotationReader.java
private SecondaryTables getSecondaryTables(Element tree,XMLContext.Default defaults) {
List<Element> elements = tree == null ?
new ArrayList<Element>() :
(List<Element>) tree.elements( "secondary-table" );
List<SecondaryTable> secondaryTables = new ArrayList<SecondaryTable>( 3 );
for ( Element element : elements ) {
AnnotationDescriptor annotation = new AnnotationDescriptor( SecondaryTable.class );
copyStringAttribute( annotation,element,"name",false );
copyStringAttribute( annotation,"catalog",false );
if ( StringHelper.isNotEmpty( defaults.getCatalog() )
&& StringHelper.isEmpty( (String) annotation.valueOf( "catalog" ) ) ) {
annotation.setValue( "catalog",defaults.getCatalog() );
}
copyStringAttribute( annotation,"schema",false );
if ( StringHelper.isNotEmpty( defaults.getSchema() )
&& StringHelper.isEmpty( (String) annotation.valueOf( "schema" ) ) ) {
annotation.setValue( "schema",defaults.getSchema() );
}
buildUniqueConstraints( annotation,element );
buildindex( annotation,element );
annotation.setValue( "pkJoinColumns",buildPrimaryKeyJoinColumns( element ) );
secondaryTables.add( (SecondaryTable) AnnotationFactory.create( annotation ) );
}
/*
* You can't have both secondary table in XML and Java,* since there would be no way to "remove" a secondary table
*/
if ( secondaryTables.size() == 0 && defaults.canUseJavaAnnotations() ) {
SecondaryTable secTableAnn = getPhysicalAnnotation( SecondaryTable.class );
overridesDefaultInSecondaryTable( secTableAnn,defaults,secondaryTables );
SecondaryTables secTablesAnn = getPhysicalAnnotation( SecondaryTables.class );
if ( secTablesAnn != null ) {
for ( SecondaryTable table : secTablesAnn.value() ) {
overridesDefaultInSecondaryTable( table,secondaryTables );
}
}
}
if ( secondaryTables.size() > 0 ) {
AnnotationDescriptor descriptor = new AnnotationDescriptor( SecondaryTables.class );
descriptor.setValue( "value",secondaryTables.toArray( new SecondaryTable[secondaryTables.size()] ) );
return AnnotationFactory.create( descriptor );
}
else {
return null;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。