Java 类org.hibernate.annotations.LazyToOneOption 实例源码

项目:caarray    文件:AbstractCharacteristic.java   
/**
 * @return the abstractBioMaterial
 */
@ManyToOne
@LazyToOne(LazyToOneOption.PROXY)
@ForeignKey(name = "characteristic_biomaterial_fk")
public AbstractBioMaterial getBioMaterial() {
    return bioMaterial;
}
项目:lams    文件:AnnotationBinder.java   
protected static void defineFetchingStrategy(ToOne toOne, XProperty property) {
    LazyToOne lazy = property.getAnnotation( LazyToOne.class );
    Fetch fetch = property.getAnnotation( Fetch.class );
    ManyToOne manyToOne = property.getAnnotation( ManyToOne.class );
    OneToOne oneToOne = property.getAnnotation( OneToOne.class );
    FetchType fetchType;
    if ( manyToOne != null ) {
        fetchType = manyToOne.fetch();
    }
    else if ( oneToOne != null ) {
        fetchType = oneToOne.fetch();
    }
    else {
        throw new AssertionFailure(
                "Define fetch strategy on a property not annotated with @OneToMany nor @OneToOne"
        );
    }
    if ( lazy != null ) {
        toOne.setLazy( !( lazy.value() == LazyToOneOption.FALSE ) );
        toOne.setUnwrapProxy( ( lazy.value() == LazyToOneOption.NO_PROXY ) );
    }
    else {
        toOne.setLazy( fetchType == FetchType.LAZY );
        toOne.setUnwrapProxy( false );
    }
    if ( fetch != null ) {
        if ( fetch.value() == org.hibernate.annotations.FetchMode.JOIN ) {
            toOne.setFetchMode( FetchMode.JOIN );
            toOne.setLazy( false );
            toOne.setUnwrapProxy( false );
        }
        else if ( fetch.value() == org.hibernate.annotations.FetchMode.SELECT ) {
            toOne.setFetchMode( FetchMode.SELECT );
        }
        else if ( fetch.value() == org.hibernate.annotations.FetchMode.SUBSELECT ) {
            throw new AnnotationException( "Use of FetchMode.SUBSELECT not allowed on ToOne associations" );
        }
        else {
            throw new AssertionFailure( "Unknown FetchMode: " + fetch.value() );
        }
    }
    else {
        toOne.setFetchMode( getFetchMode( fetchType ) );
    }
}
项目:Opensheet    文件:User.java   
@OneToOne(fetch = FetchType.LAZY)
   @JoinColumn(name = "id",nullable=false)
   @LazyToOne(value = LazyToOneOption.NO_PROXY)
public Permission getPermission() {
    return permission;
}