use of javax.persistence.SecondaryTables in project CloudStack-archive by CloudStack-extras.
the class DbUtil method getSecondaryTables.
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;
}
use of javax.persistence.SecondaryTables in project cosmic by MissionCriticalCloud.
the class DbUtil method getSecondaryTables.
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;
}
use of javax.persistence.SecondaryTables in project hibernate-orm by hibernate.
the class EntityBinder method findMatchingSecondaryTable.
private SecondaryTable findMatchingSecondaryTable(Join join) {
final String nameToMatch = join.getTable().getQuotedName();
SecondaryTable secondaryTable = annotatedClass.getAnnotation(SecondaryTable.class);
if (secondaryTable != null && nameToMatch.equals(secondaryTable.name())) {
return secondaryTable;
}
SecondaryTables secondaryTables = annotatedClass.getAnnotation(SecondaryTables.class);
if (secondaryTables != null) {
for (SecondaryTable secondaryTable2 : secondaryTables.value()) {
if (secondaryTable != null && nameToMatch.equals(secondaryTable.name())) {
return secondaryTable;
}
}
}
return null;
}
use of javax.persistence.SecondaryTables in project hibernate-orm by hibernate.
the class JPAOverriddenAnnotationReader method getSecondaryTables.
private SecondaryTables getSecondaryTables(Element tree, XMLContext.Default defaults) {
List<Element> elements = tree == null ? new ArrayList<>() : (List<Element>) tree.elements("secondary-table");
List<SecondaryTable> secondaryTables = new ArrayList<>(3);
for (Element element : elements) {
AnnotationDescriptor annotation = new AnnotationDescriptor(SecondaryTable.class);
copyStringAttribute(annotation, element, "name", false);
copyStringAttribute(annotation, element, "catalog", false);
if (StringHelper.isNotEmpty(defaults.getCatalog()) && StringHelper.isEmpty((String) annotation.valueOf("catalog"))) {
annotation.setValue("catalog", defaults.getCatalog());
}
copyStringAttribute(annotation, element, "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(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, defaults, 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;
}
}
use of javax.persistence.SecondaryTables in project cloudstack by apache.
the class DbUtil method getSecondaryTables.
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;
}
Aggregations