/** * @return the abstractBioMaterial */ @ManyToOne @LazyToOne(LazyToOneOption.PROXY) @ForeignKey(name = "characteristic_biomaterial_fk") public AbstractBioMaterial getBioMaterial() { return bioMaterial; }
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 ) ); } }
@OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "id",nullable=false) @LazyToOne(value = LazyToOneOption.NO_PROXY) public Permission getPermission() { return permission; }