Java Code Examples for javax.persistence.JoinColumns#value()
The following examples show how to use
javax.persistence.JoinColumns#value() .
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: JPAEdmProperty.java From olingo-odata2 with Apache License 2.0 | 6 votes |
private void addForeignKey(final Attribute<?, ?> jpaAttribute) throws ODataJPAModelException, ODataJPARuntimeException { AnnotatedElement annotatedElement = (AnnotatedElement) jpaAttribute.getJavaMember(); joinColumnNames = null; if (annotatedElement == null) { return; } JoinColumn joinColumn = annotatedElement.getAnnotation(JoinColumn.class); if (joinColumn == null) { JoinColumns joinColumns = annotatedElement.getAnnotation(JoinColumns.class); if (joinColumns != null) { for (JoinColumn jc : joinColumns.value()) { buildForeignKey(jc, jpaAttribute); } } } else { buildForeignKey(joinColumn, jpaAttribute); } }
Example 2
Source File: AnnotationBinder.java From lams with GNU General Public License v2.0 | 4 votes |
private static int addProperty( PropertyContainer propertyContainer, XProperty property, List<PropertyData> inFlightPropertyDataList, MetadataBuildingContext context) { // see if inFlightPropertyDataList already contains a PropertyData for this name, // and if so, skip it.. for ( PropertyData propertyData : inFlightPropertyDataList ) { if ( propertyData.getPropertyName().equals( property.getName() ) ) { // EARLY EXIT!!! return 0; } } final XClass declaringClass = propertyContainer.getDeclaringClass(); final XClass entity = propertyContainer.getEntityAtStake(); int idPropertyCounter = 0; PropertyData propertyAnnotatedElement = new PropertyInferredData( declaringClass, property, propertyContainer.getClassLevelAccessType().getType(), context.getBootstrapContext().getReflectionManager() ); /* * put element annotated by @Id in front * since it has to be parsed before any association by Hibernate */ final XAnnotatedElement element = propertyAnnotatedElement.getProperty(); if ( element.isAnnotationPresent( Id.class ) || element.isAnnotationPresent( EmbeddedId.class ) ) { inFlightPropertyDataList.add( 0, propertyAnnotatedElement ); /** * The property must be put in hibernate.properties as it's a system wide property. Fixable? * TODO support true/false/default on the property instead of present / not present * TODO is @Column mandatory? * TODO add method support */ if ( context.getBuildingOptions().isSpecjProprietarySyntaxEnabled() ) { if ( element.isAnnotationPresent( Id.class ) && element.isAnnotationPresent( Column.class ) ) { String columnName = element.getAnnotation( Column.class ).name(); for ( XProperty prop : declaringClass.getDeclaredProperties( AccessType.FIELD.getType() ) ) { if ( !prop.isAnnotationPresent( MapsId.class ) ) { /** * The detection of a configured individual JoinColumn differs between Annotation * and XML configuration processing. */ boolean isRequiredAnnotationPresent = false; JoinColumns groupAnnotation = prop.getAnnotation( JoinColumns.class ); if ( (prop.isAnnotationPresent( JoinColumn.class ) && prop.getAnnotation( JoinColumn.class ).name().equals( columnName )) ) { isRequiredAnnotationPresent = true; } else if ( prop.isAnnotationPresent( JoinColumns.class ) ) { for ( JoinColumn columnAnnotation : groupAnnotation.value() ) { if ( columnName.equals( columnAnnotation.name() ) ) { isRequiredAnnotationPresent = true; break; } } } if ( isRequiredAnnotationPresent ) { //create a PropertyData fpr the specJ property holding the mapping PropertyData specJPropertyData = new PropertyInferredData( declaringClass, //same dec prop, // the actual @XToOne property propertyContainer.getClassLevelAccessType().getType(), //TODO we should get the right accessor but the same as id would do context.getBootstrapContext().getReflectionManager() ); context.getMetadataCollector().addPropertyAnnotatedWithMapsIdSpecj( entity, specJPropertyData, element.toString() ); } } } } } if ( element.isAnnotationPresent( ManyToOne.class ) || element.isAnnotationPresent( OneToOne.class ) ) { context.getMetadataCollector().addToOneAndIdProperty( entity, propertyAnnotatedElement ); } idPropertyCounter++; } else { inFlightPropertyDataList.add( propertyAnnotatedElement ); } if ( element.isAnnotationPresent( MapsId.class ) ) { context.getMetadataCollector().addPropertyAnnotatedWithMapsId( entity, propertyAnnotatedElement ); } return idPropertyCounter; }
Example 3
Source File: JPAEdmReferentialConstraintRole.java From cloud-odata-java with Apache License 2.0 | 4 votes |
private void extractJoinColumns() { /* * Check against Static Buffer whether the join column was already * extracted. */ if (!jpaAttribute.equals(bufferedJPAAttribute)) { bufferedJPAAttribute = jpaAttribute; bufferedJoinColumns.clear(); } else if (bufferedJoinColumns.isEmpty()) { roleExists = false; return; } else { roleExists = true; return; } AnnotatedElement annotatedElement = (AnnotatedElement) jpaAttribute .getJavaMember(); if (annotatedElement == null) { return; } JoinColumn joinColumn = annotatedElement .getAnnotation(JoinColumn.class); if (joinColumn == null) { JoinColumns joinColumns = annotatedElement .getAnnotation(JoinColumns.class); if (joinColumns != null) { JoinColumn[] joinColumnArray = joinColumns.value(); for (JoinColumn element : joinColumnArray) { bufferedJoinColumns.add(element); } } else { return; } } else { bufferedJoinColumns.add(joinColumn); } roleExists = true; }