當前位置: 首頁>>代碼示例>>Java>>正文


Java ManyToOne.fetch方法代碼示例

本文整理匯總了Java中javax.persistence.ManyToOne.fetch方法的典型用法代碼示例。如果您正苦於以下問題:Java ManyToOne.fetch方法的具體用法?Java ManyToOne.fetch怎麽用?Java ManyToOne.fetch使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在javax.persistence.ManyToOne的用法示例。


在下文中一共展示了ManyToOne.fetch方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: defineFetchingStrategy

import javax.persistence.ManyToOne; //導入方法依賴的package包/類
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 ) );
	}
}
 
開發者ID:lamsfoundation,項目名稱:lams,代碼行數:46,代碼來源:AnnotationBinder.java


注:本文中的javax.persistence.ManyToOne.fetch方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。