javax.persistence.SecondaryTable Java Examples
The following examples show how to use
javax.persistence.SecondaryTable.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: EntityBinder.java From lams with GNU General Public License v2.0 | 6 votes |
private void setFKNameIfDefined(Join join) { // just awful.. org.hibernate.annotations.Table matchingTable = findMatchingComplimentTableAnnotation( join ); if ( matchingTable != null && !BinderHelper.isEmptyAnnotationValue( matchingTable.foreignKey().name() ) ) { ( (SimpleValue) join.getKey() ).setForeignKeyName( matchingTable.foreignKey().name() ); } else { javax.persistence.SecondaryTable jpaSecondaryTable = findMatchingSecondaryTable( join ); if ( jpaSecondaryTable != null ) { if ( jpaSecondaryTable.foreignKey().value() == ConstraintMode.NO_CONSTRAINT ) { ( (SimpleValue) join.getKey() ).setForeignKeyName( "none" ); } else { ( (SimpleValue) join.getKey() ).setForeignKeyName( StringHelper.nullIfEmpty( jpaSecondaryTable.foreignKey().name() ) ); ( (SimpleValue) join.getKey() ).setForeignKeyDefinition( StringHelper.nullIfEmpty( jpaSecondaryTable.foreignKey().foreignKeyDefinition() ) ); } } } }
Example #2
Source File: EntityBinder.java From lams with GNU General Public License v2.0 | 6 votes |
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 secondaryTablesEntry : secondaryTables.value() ) { if ( secondaryTablesEntry != null && nameToMatch.equals( secondaryTablesEntry.name() ) ) { return secondaryTablesEntry; } } } return null; }
Example #3
Source File: JPAOverriddenAnnotationReader.java From lams with GNU General Public License v2.0 | 5 votes |
private void overridesDefaultInSecondaryTable( SecondaryTable secTableAnn, XMLContext.Default defaults, List<SecondaryTable> secondaryTables ) { if ( secTableAnn != null ) { //handle default values if ( StringHelper.isNotEmpty( defaults.getCatalog() ) || StringHelper.isNotEmpty( defaults.getSchema() ) ) { AnnotationDescriptor annotation = new AnnotationDescriptor( SecondaryTable.class ); annotation.setValue( "name", secTableAnn.name() ); annotation.setValue( "schema", secTableAnn.schema() ); annotation.setValue( "catalog", secTableAnn.catalog() ); annotation.setValue( "uniqueConstraints", secTableAnn.uniqueConstraints() ); annotation.setValue( "pkJoinColumns", secTableAnn.pkJoinColumns() ); if ( StringHelper.isEmpty( (String) annotation.valueOf( "schema" ) ) && StringHelper.isNotEmpty( defaults.getSchema() ) ) { annotation.setValue( "schema", defaults.getSchema() ); } if ( StringHelper.isEmpty( (String) annotation.valueOf( "catalog" ) ) && StringHelper.isNotEmpty( defaults.getCatalog() ) ) { annotation.setValue( "catalog", defaults.getCatalog() ); } secondaryTables.add( AnnotationFactory.create( annotation ) ); } else { secondaryTables.add( secTableAnn ); } } }
Example #4
Source File: EntityBinder.java From lams with GNU General Public License v2.0 | 5 votes |
public void firstLevelSecondaryTablesBinding( SecondaryTable secTable, SecondaryTables secTables ) { if ( secTables != null ) { //loop through it for (SecondaryTable tab : secTables.value()) { addJoin( tab, null, null, false ); } } else { if ( secTable != null ) addJoin( secTable, null, null, false ); } }
Example #5
Source File: DbUtil.java From cosmic with Apache License 2.0 | 5 votes |
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; }
Example #6
Source File: DbUtil.java From cloudstack with Apache License 2.0 | 5 votes |
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; }
Example #7
Source File: JPAOverriddenAnnotationReader.java From lams with GNU General Public License v2.0 | 4 votes |
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; } }