本文整理了Java中javax.persistence.AssociationOverride.joinColumns()
方法的一些代码示例,展示了AssociationOverride.joinColumns()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。AssociationOverride.joinColumns()
方法的具体详情如下:
包路径:javax.persistence.AssociationOverride
类名称:AssociationOverride
方法名:joinColumns
暂无
代码示例来源:origin: hibernate/hibernate-orm
private static Map<String, JoinColumn[]> buildJoinColumnOverride(XAnnotatedElement element, String path) {
Map<String, JoinColumn[]> columnOverride = new HashMap<String, JoinColumn[]>();
if ( element != null ) {
AssociationOverride[] overrides = buildAssociationOverrides( element, path );
if ( overrides != null ) {
for ( AssociationOverride depAttr : overrides ) {
columnOverride.put(
StringHelper.qualify( path, depAttr.name() ),
depAttr.joinColumns()
);
}
}
}
return columnOverride;
}
代码示例来源:origin: hibernate/hibernate-orm
private static Map<String, JoinTable> buildJoinTableOverride(XAnnotatedElement element, String path) {
Map<String, JoinTable> tableOverride = new HashMap<String, JoinTable>();
if ( element != null ) {
AssociationOverride[] overrides = buildAssociationOverrides( element, path );
if ( overrides != null ) {
for ( AssociationOverride depAttr : overrides ) {
if ( depAttr.joinColumns().length == 0 ) {
tableOverride.put(
StringHelper.qualify( path, depAttr.name() ),
depAttr.joinTable()
);
}
}
}
}
return tableOverride;
}
代码示例来源:origin: hibernate/hibernate-orm
/**
* When there's a single association override, we still wrap it with an
* AssociationOverrides annotation.
*/
@Test
public void testSingleAssociationOverride() throws Exception {
reader = getReader( Entity3.class, "field1", "element-collection.orm24.xml" );
assertAnnotationPresent( ElementCollection.class );
assertAnnotationNotPresent( AssociationOverride.class );
assertAnnotationPresent( AssociationOverrides.class );
AssociationOverrides overridesAnno = reader.getAnnotation( AssociationOverrides.class );
AssociationOverride[] overrides = overridesAnno.value();
assertEquals( 1, overrides.length );
assertEquals( "association1", overrides[0].name() );
assertEquals( 0, overrides[0].joinColumns().length );
assertEquals( "", overrides[0].joinTable().name() );
}
代码示例来源:origin: Impetus/Kundera
/**
* @param relationField
* @param annotate
* @return
*/
private Boolean validateOneToOne(Field relationField, Annotation annotate)
{
boolean isJoinedByTable = relationField.isAnnotationPresent(JoinTable.class);
if (relationField.isAnnotationPresent(AssociationOverride.class))
{
AssociationOverride annotation = relationField.getAnnotation(AssociationOverride.class);
JoinColumn[] joinColumns = annotation.joinColumns();
validateJoinColumns(joinColumns);
JoinTable joinTable = annotation.joinTable();
onJoinTable(joinTable);
}
else if (isJoinedByTable)
{
throw new UnsupportedOperationException("@JoinTable not supported for one to one association");
}
return true;
}
代码示例来源:origin: Impetus/Kundera
/**
* @param relationField
* @param annotate
* @return
*/
private Boolean validateManyToOne(Field relationField, Annotation annotate)
{
// taking field's type as foreign entity, ignoring "targetEntity"
Class<?> targetEntity = relationField.getType();
boolean isJoinedByTable = relationField.isAnnotationPresent(JoinTable.class);
if (relationField.isAnnotationPresent(AssociationOverride.class))
{
AssociationOverride annotation = relationField.getAnnotation(AssociationOverride.class);
JoinColumn[] joinColumns = annotation.joinColumns();
//validate if more than one join column is defined
validateJoinColumns(joinColumns);
JoinTable joinTable = annotation.joinTable();
//validate if join table is null
onJoinTable(joinTable);
}
// join table not valid for Many to one check
else if (isJoinedByTable)
{
throw new UnsupportedOperationException("@JoinTable not supported for many to one association");
}
return true;
}
代码示例来源:origin: Impetus/Kundera
@Override
public void addRelationIntoMetadata(Field relationField, EntityMetadata metadata)
{
// taking field's type as foreign entity, ignoring "targetEntity"
Class<?> targetEntity = relationField.getType();
ManyToOne ann = relationField.getAnnotation(ManyToOne.class);
Relation relation = new Relation(relationField, targetEntity, null, ann.fetch(), Arrays.asList(ann.cascade()),
ann.optional(), null, // mappedBy is null
Relation.ForeignKey.MANY_TO_ONE);
boolean isJoinedByFK = relationField.isAnnotationPresent(JoinColumn.class);
if (relationField.isAnnotationPresent(AssociationOverride.class))
{
AssociationOverride annotation = relationField.getAnnotation(AssociationOverride.class);
JoinColumn[] joinColumns = annotation.joinColumns();
relation.setJoinColumnName(joinColumns[0].name());
}
else if (isJoinedByFK)
{
JoinColumn joinColumnAnn = relationField.getAnnotation(JoinColumn.class);
relation.setJoinColumnName(StringUtils.isBlank(joinColumnAnn.name()) ? relationField.getName()
: joinColumnAnn.name());
}
else
{
relation.setJoinColumnName(relationField.getName());
}
relation.setBiDirectionalField(metadata.getEntityClazz());
metadata.addRelation(relationField.getName(), relation);
}
代码示例来源:origin: org.hibernate/hibernate-annotations
private static Map<String, JoinColumn[]> buildJoinColumnOverride(XAnnotatedElement element, String path) {
Map<String, JoinColumn[]> columnOverride = new HashMap<String, JoinColumn[]>();
if ( element == null ) return columnOverride;
AssociationOverride singleOverride = element.getAnnotation( AssociationOverride.class );
AssociationOverrides multipleOverrides = element.getAnnotation( AssociationOverrides.class );
AssociationOverride[] overrides;
if ( singleOverride != null ) {
overrides = new AssociationOverride[] { singleOverride };
}
else if ( multipleOverrides != null ) {
overrides = multipleOverrides.value();
}
else {
overrides = null;
}
//fill overridden columns
if ( overrides != null ) {
for (AssociationOverride depAttr : overrides) {
columnOverride.put(
StringHelper.qualify( path, depAttr.name() ),
depAttr.joinColumns()
);
}
}
return columnOverride;
}
代码示例来源:origin: org.hibernate/hibernate-annotations
private static Map<String, JoinTable> buildJoinTableOverride(XAnnotatedElement element, String path) {
Map<String, JoinTable> tableOverride = new HashMap<String, JoinTable>();
if ( element == null ) return tableOverride;
AssociationOverride singleOverride = element.getAnnotation( AssociationOverride.class );
AssociationOverrides multipleOverrides = element.getAnnotation( AssociationOverrides.class );
AssociationOverride[] overrides;
if ( singleOverride != null ) {
overrides = new AssociationOverride[] { singleOverride };
}
else if ( multipleOverrides != null ) {
overrides = multipleOverrides.value();
}
else {
overrides = null;
}
//fill overridden tables
if ( overrides != null ) {
for (AssociationOverride depAttr : overrides) {
if ( depAttr.joinColumns().length == 0 ) {
tableOverride.put(
StringHelper.qualify( path, depAttr.name() ),
depAttr.joinTable()
);
}
}
}
return tableOverride;
}
代码示例来源:origin: Impetus/Kundera
JoinColumn[] joinColumns = annotation.joinColumns();
relation.setJoinColumnName(joinColumns[0].name());
代码示例来源:origin: hibernate/hibernate-orm
assertEquals( 0, overrides[0].joinColumns().length );
joinColumns = overrides[1].joinColumns();
assertEquals( 2, joinColumns.length );
assertEquals( "", joinColumns[0].name() );
代码示例来源:origin: com.haulmont.cuba/cuba-core
private void overrideAssociations(AssociationOverrides overrides, Map<String, FieldEntry> embeddedFields) {
AssociationOverride[] overriddenAttributes = overrides.value();
for (AssociationOverride overriddenAttribute : overriddenAttributes) {
if (overriddenAttribute.joinColumns().length == 1) {
embeddedFields.put(overriddenAttribute.name(), new FieldEntry(overriddenAttribute.name(), overriddenAttribute.joinColumns()[0].name()));
}
}
}
}
代码示例来源:origin: org.hibernate.orm/hibernate-core
private static Map<String, JoinColumn[]> buildJoinColumnOverride(XAnnotatedElement element, String path) {
Map<String, JoinColumn[]> columnOverride = new HashMap<String, JoinColumn[]>();
if ( element != null ) {
AssociationOverride[] overrides = buildAssociationOverrides( element, path );
if ( overrides != null ) {
for ( AssociationOverride depAttr : overrides ) {
columnOverride.put(
StringHelper.qualify( path, depAttr.name() ),
depAttr.joinColumns()
);
}
}
}
return columnOverride;
}
代码示例来源:origin: org.batoo.jpa/parser
/**
* @param locator
* the locator
* @param annotation
* the annotation
*
* @since 2.0.0
*/
public AssociationOverrideMetadataImpl(AbstractLocator locator, AssociationOverride annotation) {
super();
this.locator = locator;
this.name = annotation.name();
if (annotation.joinColumns().length > 0) {
for (final JoinColumn joinColumn : annotation.joinColumns()) {
this.joinColumns.add(new JoinColumnMetadataImpl(this.locator, joinColumn));
}
this.joinTable = null;
}
else {
this.joinTable = new JoinTableMetadaImpl(locator, annotation.joinTable());
}
}
代码示例来源:origin: BatooOrg/BatooJPA
/**
* @param locator
* the locator
* @param annotation
* the annotation
*
* @since 2.0.0
*/
public AssociationOverrideMetadataImpl(AbstractLocator locator, AssociationOverride annotation) {
super();
this.locator = locator;
this.name = annotation.name();
if (annotation.joinColumns().length > 0) {
for (final JoinColumn joinColumn : annotation.joinColumns()) {
this.joinColumns.add(new JoinColumnMetadataImpl(this.locator, joinColumn));
}
this.joinTable = null;
}
else {
this.joinTable = new JoinTableMetadaImpl(locator, annotation.joinTable());
}
}
代码示例来源:origin: org.batoo.jpa/batoo-jpa
/**
* @param locator
* the locator
* @param annotation
* the annotation
*
* @since 2.0.0
*/
public AssociationOverrideMetadataImpl(AbstractLocator locator, AssociationOverride annotation) {
super();
this.locator = locator;
this.name = annotation.name();
if (annotation.joinColumns().length > 0) {
for (final JoinColumn joinColumn : annotation.joinColumns()) {
this.joinColumns.add(new JoinColumnMetadataImpl(this.locator, joinColumn));
}
this.joinTable = null;
}
else {
this.joinTable = new JoinTableMetadaImpl(locator, annotation.joinTable());
}
}
代码示例来源:origin: org.hibernate.orm/hibernate-core
private static Map<String, JoinTable> buildJoinTableOverride(XAnnotatedElement element, String path) {
Map<String, JoinTable> tableOverride = new HashMap<String, JoinTable>();
if ( element != null ) {
AssociationOverride[] overrides = buildAssociationOverrides( element, path );
if ( overrides != null ) {
for ( AssociationOverride depAttr : overrides ) {
if ( depAttr.joinColumns().length == 0 ) {
tableOverride.put(
StringHelper.qualify( path, depAttr.name() ),
depAttr.joinTable()
);
}
}
}
}
return tableOverride;
}
代码示例来源:origin: org.hibernate/com.springsource.org.hibernate
private static Map<String, JoinColumn[]> buildJoinColumnOverride(XAnnotatedElement element, String path) {
Map<String, JoinColumn[]> columnOverride = new HashMap<String, JoinColumn[]>();
if ( element == null ) return columnOverride;
AssociationOverride singleOverride = element.getAnnotation( AssociationOverride.class );
AssociationOverrides multipleOverrides = element.getAnnotation( AssociationOverrides.class );
AssociationOverride[] overrides;
if ( singleOverride != null ) {
overrides = new AssociationOverride[] { singleOverride };
}
else if ( multipleOverrides != null ) {
overrides = multipleOverrides.value();
}
else {
overrides = null;
}
//fill overridden columns
if ( overrides != null ) {
for (AssociationOverride depAttr : overrides) {
columnOverride.put(
StringHelper.qualify( path, depAttr.name() ),
depAttr.joinColumns()
);
}
}
return columnOverride;
}
代码示例来源:origin: jboss.jboss-embeddable-ejb3/hibernate-all
private static Map<String, JoinColumn[]> buildJoinColumnOverride(XAnnotatedElement element, String path) {
Map<String, JoinColumn[]> columnOverride = new HashMap<String, JoinColumn[]>();
if ( element == null ) return columnOverride;
AssociationOverride singleOverride = element.getAnnotation( AssociationOverride.class );
AssociationOverrides multipleOverrides = element.getAnnotation( AssociationOverrides.class );
AssociationOverride[] overrides;
if ( singleOverride != null ) {
overrides = new AssociationOverride[]{singleOverride};
}
else if ( multipleOverrides != null ) {
overrides = multipleOverrides.value();
}
else {
overrides = null;
}
//fill overriden columns
if ( overrides != null ) {
for ( AssociationOverride depAttr : overrides ) {
columnOverride.put(
StringHelper.qualify( path, depAttr.name() ),
depAttr.joinColumns()
);
}
}
return columnOverride;
}
代码示例来源:origin: toplink.essentials/toplink-essentials
/**
* INTERNAL: (Overriden in XMLClassAccessor)
* Process an @AssociationOverrides for an Entity (or MappedSuperclass)
* that inherits from a MappedSuperclass.
*
* It will also look for an @AssociationOverride.
*/
protected void processAssociationOverrides() {
// Look for an @AssociationOverrides.
AssociationOverrides associationOverrides = getAnnotation(AssociationOverrides.class);
if (associationOverrides != null) {
for (AssociationOverride associationOverride : associationOverrides.value()) {
processAssociationOverride(associationOverride.name(), new MetadataJoinColumns(associationOverride.joinColumns()));
}
}
// Look for an @AssociationOverride.
AssociationOverride associationOverride = getAnnotation(AssociationOverride.class);
if (associationOverride != null) {
processAssociationOverride(associationOverride.name(), new MetadataJoinColumns(associationOverride.joinColumns()));
}
}
代码示例来源:origin: org.apache.openjpa/com.springsource.org.apache.openjpa
/**
* Parse @AssociationOverride(s).
*/
private void parseAssociationOverrides(ClassMapping cm,
AssociationOverride... assocs) {
FieldMapping sup;
JoinColumn[] scols;
int unique;
List<Column> jcols;
for (AssociationOverride assoc : assocs) {
if (StringUtils.isEmpty(assoc.name()))
throw new MetaDataException(_loc.get("no-override-name", cm));
sup = (FieldMapping) cm.getDefinedSuperclassField(assoc.name());
if (sup == null)
sup = (FieldMapping) cm.addDefinedSuperclassField
(assoc.name(), Object.class, Object.class);
scols = assoc.joinColumns();
if (scols == null || scols.length == 0)
continue;
jcols = new ArrayList<Column>(scols.length);
unique = 0;
for (JoinColumn scol : scols) {
unique |= (scol.unique()) ? TRUE : FALSE;
jcols.add(newColumn(scol));
}
setColumns(sup, sup.getValueInfo(), jcols, unique);
}
}
内容来源于网络,如有侵权,请联系作者删除!