本文整理了Java中javax.persistence.AssociationOverride
类的一些代码示例,展示了AssociationOverride
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。AssociationOverride
类的具体详情如下:
包路径:javax.persistence.AssociationOverride
类名称:AssociationOverride
暂无
代码示例来源: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
@Entity(name = "PolymorphicPropertySub1")
@AssociationOverrides({
@AssociationOverride(name = "base", joinColumns = @JoinColumn(name = "base_sub_1"))
})
public static class PolymorphicPropertySub1 extends PolymorphicPropertyMapBase<PolymorphicSub1, Embeddable1> {
private static final long serialVersionUID = 1L;
public PolymorphicPropertySub1() {
}
}
代码示例来源:origin: hibernate/hibernate-orm
private static Map<String, ForeignKey> buildForeignKeyOverride(XAnnotatedElement element, String path) {
Map<String, ForeignKey> foreignKeyOverride = new HashMap<String, ForeignKey>();
if ( element != null ) {
AssociationOverride[] overrides = buildAssociationOverrides( element, path );
if ( overrides != null ) {
for ( AssociationOverride depAttr : overrides ) {
foreignKeyOverride.put( StringHelper.qualify( path, depAttr.name() ), depAttr.foreignKey() );
}
}
}
return foreignKeyOverride;
}
代码示例来源: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: 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: hibernate/hibernate-orm
private void addAssociationOverrideIfNeeded(AssociationOverride annotation, List<AssociationOverride> overrides) {
if ( annotation != null ) {
String overrideName = annotation.name();
boolean present = false;
for ( AssociationOverride current : overrides ) {
if ( current.name().equals( overrideName ) ) {
present = true;
break;
}
}
if ( !present ) {
overrides.add( annotation );
}
}
}
代码示例来源: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: 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: org.hibernate/hibernate-annotations
private void addAssociationOverrideIfNeeded(AssociationOverride annotation, List<AssociationOverride> overrides) {
if ( annotation != null ) {
String overrideName = annotation.name();
boolean present = false;
for (AssociationOverride current : overrides) {
if ( current.name().equals( overrideName ) ) {
present = true;
break;
}
}
if ( !present ) overrides.add( annotation );
}
}
代码示例来源: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: 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: hibernate/hibernate-orm
@Entity(name = "PolymorphicPropertySub2")
@AssociationOverrides({
@AssociationOverride(name = "base", joinColumns = @JoinColumn(name = "base_sub_2"))
})
public static class PolymorphicPropertySub2 extends PolymorphicPropertyMapBase<PolymorphicSub2, Embeddable2> {
private static final long serialVersionUID = 1L;
public PolymorphicPropertySub2() {
}
}
代码示例来源:origin: Impetus/Kundera
JoinColumn[] joinColumns = annotation.joinColumns();
relation.setJoinColumnName(joinColumns[0].name());
JoinTable joinTable = annotation.joinTable();
onJoinTable(joinTable);
代码示例来源:origin: org.hibernate/com.springsource.org.hibernate.core
private void addAssociationOverrideIfNeeded(AssociationOverride annotation, List<AssociationOverride> overrides) {
if ( annotation != null ) {
String overrideName = annotation.name();
boolean present = false;
for ( AssociationOverride current : overrides ) {
if ( current.name().equals( overrideName ) ) {
present = true;
break;
}
}
if ( !present ) {
overrides.add( annotation );
}
}
}
代码示例来源:origin: org.hibernate.orm/hibernate-core
private static Map<String, ForeignKey> buildForeignKeyOverride(XAnnotatedElement element, String path) {
Map<String, ForeignKey> foreignKeyOverride = new HashMap<String, ForeignKey>();
if ( element != null ) {
AssociationOverride[] overrides = buildAssociationOverrides( element, path );
if ( overrides != null ) {
for ( AssociationOverride depAttr : overrides ) {
foreignKeyOverride.put( StringHelper.qualify( path, depAttr.name() ), depAttr.foreignKey() );
}
}
}
return foreignKeyOverride;
}
代码示例来源: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: 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: hibernate/hibernate-orm
/**
* @author Emmanuel Bernard
*/
@Entity
@AssociationOverrides({
@AssociationOverride(name = "id.channel", joinColumns = @JoinColumn(name = "chan_id", nullable = false)),
@AssociationOverride(name = "id.presenter", joinColumns = @JoinColumn(name = "presenter_name", nullable = false))})
public class TvMagazin {
@EmbeddedId
public TvMagazinPk id;
@Temporal(TemporalType.TIME)
@Column(name="`time`")
Date time;
}
代码示例来源:origin: org.hibernate.orm/hibernate-core
private void addAssociationOverrideIfNeeded(AssociationOverride annotation, List<AssociationOverride> overrides) {
if ( annotation != null ) {
String overrideName = annotation.name();
boolean present = false;
for ( AssociationOverride current : overrides ) {
if ( current.name().equals( overrideName ) ) {
present = true;
break;
}
}
if ( !present ) {
overrides.add( annotation );
}
}
}
内容来源于网络,如有侵权,请联系作者删除!