亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? database.java

?? 用Java實現的23個常用設計模式源代碼
?? JAVA
字號:
//$Id: Database.java,v 1.5 2003/01/26 01:33:36 oneovthafew Exp $package net.sf.hibernate.odmg;import org.odmg.ODMGException;import org.odmg.ODMGRuntimeException;import org.odmg.ObjectNameNotFoundException;import org.odmg.ObjectNameNotUniqueException;import net.sf.hibernate.HibernateException;import net.sf.hibernate.ObjectNotFoundException;import net.sf.hibernate.Session;import net.sf.hibernate.SessionFactory;import net.sf.hibernate.cfg.Configuration;import net.sf.hibernate.impl.SessionFactoryObjectFactory;/** * Implements the ODMG <tt>Database</tt> API. This provides operations for * persisting and deleteing objects, binding names to objects and looking * up objects by name.<br> * <br> * Applications may create an instance by calling * <tt>Implementation.newDatabase()</tt> or by instantiating this class * directly. The application should then call <tt>open()</tt> to associate * it with an existing Hibernate <tt>SessionFactory</tt>.<br> * <br> * Instances maintain an association between <tt>Thread</tt>s and * </tt>Transaction</tt>s. * @see Implementation * @see Transaction */public class Database implements org.odmg.Database {	private SessionFactory sessionFactory;	private final ThreadLocal threadTransaction = new ThreadLocal();		/**	 * Instantiate	 */	public Database() {}		/**	 * Specify the underlying <tt>SessionFactory</tt>. This method is not	 * exposed by the ODMG API but is needed when no JNDI server is available.	 */	public void open(SessionFactory factory) {		this.sessionFactory=factory;	}		/**	 * Get the <tt>Session</tt> underlying the <tt>Transaction</tt> associated	 * with the current thread.	 */	public Session getSession() {		return currentTransaction().getSession();	}		/**	 * Get the <tt>SessionFactory</tt> underlying this <tt>Database</tt>.	 */	public SessionFactory getSessionFactory() {		return sessionFactory;	}		/**	 * Get the <tt>Transaction</tt> associatedm with the current thread.	 */	public Transaction currentTransaction() {		return (Transaction) threadTransaction.get();	}	void associateThread(Transaction trans) {		threadTransaction.set(trans);	}	void disassociateThread() {		threadTransaction.set(null);	}		/**	 * Specify the underlying <tt>SessionFactory</tt>, by passing a JNDI name.	 * The <tt>accessMode</tt> is ignored by Hibernate.	 * @see org.odmg.Database#open(String, int)	 */	public void open(String name, int accessMode) throws ODMGException {		try {			new Configuration().configure();		}		catch (HibernateException he) {			throw new ODMGException( he.getMessage() );		}		sessionFactory = (SessionFactory) SessionFactoryObjectFactory.getNamedInstance(name);		if (sessionFactory==null) throw new ODMGException("No SessionFactory was associated with the given JDNI name");		/*try {			sessionFactory = (SessionFactory) NamingHelper.getInitialContext( Environment.getProperties() ).lookup(name);		}		catch (NamingException ne) {			throw new ODMGException( ne.getMessage() );		}*/	}		/**	 * Close the <tt>Database</tt> (but not the underlying <tt>SessionFactory</tt>).	 * @see org.odmg.Database#close()	 */	public void close() throws ODMGException {		//TODO: Wait for all transactions to complete?		//if ( !threadTransactions.isEmpty() ) throw new ODMGException("Running transactions");		sessionFactory = null;		//TODO: remove it from ThreadLocal storage on Implementation	}		/**	 * Bind a name to a persistent object, making the object persistent if necessary.	 * @see org.odmg.Database#bind(Object, String)	 */	public void bind(Object object, String name) throws ObjectNameNotUniqueException {		try {			Session s = getSession();			Name nameObj = new Name( name, object.getClass(), s.save(object) );			s.save(nameObj);			//TODO: handle ObjectNameNotUniqueException properly		}		catch (HibernateException he) {			throw new ODMGRuntimeException( he.getMessage() );		}	}		/**	 * Retrieve the persistent object bound to the given name.	 * @see org.odmg.Database#lookup(String)	 */	public Object lookup(String name) throws ObjectNameNotFoundException {		try {			Session s = getSession();			Name nameObj;			try {				nameObj = (Name) s.load(Name.class, name);			}			catch (ObjectNotFoundException onfe) {				throw new ObjectNameNotFoundException();			}			return s.load( nameObj.getPersistentClass(), nameObj.getId() );		}		catch (HibernateException he) {			throw new ODMGRuntimeException( he.getMessage() );		}	}		/**	 * Unbind the given name.	 * @see org.odmg.Database#unbind(String)	 */	public void unbind(String name) throws ObjectNameNotFoundException {		try {			Session s = getSession();			Name nameObj;			try {				nameObj = (Name) s.load(Name.class, name);			}			catch (ObjectNotFoundException onfe) {				throw new ObjectNameNotFoundException();			}			s.delete(nameObj);		}		catch (HibernateException he) {			throw new ODMGRuntimeException( he.getMessage() );		}	}		/**	 * Make the given object persistent.	 * @see org.odmg.Database#makePersistent(Object)	 */	public void makePersistent(Object object) {		try {			getSession().save(object);		}		catch (HibernateException he) {			throw new ODMGRuntimeException( he.getMessage() );		}	}	/**	 * Delete the given object from the database.	 * @see org.odmg.Database#deletePersistent(Object)	 */	public void deletePersistent(Object object) {		try {			getSession().delete(object);		}		catch (HibernateException he) {			throw new ODMGRuntimeException( he.getMessage() );		}	}	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一级高清毛片| 国产精品久久久久精k8| 56国语精品自产拍在线观看| 日本伦理一区二区| 91在线观看成人| 成人av在线看| 99久久婷婷国产综合精品电影| 懂色av中文字幕一区二区三区| 成人免费视频国产在线观看| 粉嫩av一区二区三区| 97久久精品人人澡人人爽| 99视频有精品| 欧美三级欧美一级| 日韩一级免费一区| xf在线a精品一区二区视频网站| 久久免费视频一区| 国产精品色眯眯| 亚洲精品久久久蜜桃| 一区二区三区四区蜜桃| 亚洲国产日韩综合久久精品| 视频一区二区欧美| 久久99国产精品尤物| 国产一区三区三区| 成人国产免费视频| 一本大道久久a久久综合婷婷| 91浏览器入口在线观看| 在线精品视频一区二区三四| 3d成人h动漫网站入口| 精品欧美久久久| 国产精品妹子av| 亚洲高清在线视频| 久久66热re国产| 99久久99久久精品免费观看 | 日韩一区二区免费在线电影| 精品国产露脸精彩对白| 中文字幕av一区二区三区免费看| 亚洲日本一区二区三区| 日日夜夜免费精品| 国产盗摄精品一区二区三区在线 | 中文字幕第一区综合| 亚洲精品国产精品乱码不99| 日韩国产一区二| 精彩视频一区二区三区| 91一区一区三区| 午夜精品福利一区二区三区蜜桃| 一级做a爱片久久| 国产福利精品一区| 欧美亚洲国产一区二区三区va| 欧美一区二区三区影视| 欧美国产一区视频在线观看| 亚洲一二三专区| 国产精品一二三| 欧美午夜理伦三级在线观看| 久久青草欧美一区二区三区| 亚洲一区在线视频| 国产美女精品一区二区三区| 在线一区二区观看| 久久夜色精品国产噜噜av| 一区二区三区在线播放| 国产伦精品一区二区三区免费迷 | 欧美videossexotv100| 亚洲黄色小视频| 国产精品一区二区在线看| 欧美日韩国产一二三| 亚洲国产高清在线观看视频| 日韩不卡在线观看日韩不卡视频| a级精品国产片在线观看| 亚洲精品在线三区| 天天综合色天天综合色h| 成人国产精品视频| 欧美精品一区二区三区蜜桃视频 | 欧美三级日韩三级| 成人欧美一区二区三区| 国产在线播放一区三区四| 欧美偷拍一区二区| 欧美激情艳妇裸体舞| 看电视剧不卡顿的网站| 欧美撒尿777hd撒尿| 亚洲特黄一级片| 国产剧情一区二区| 日韩视频一区二区三区| 亚洲福中文字幕伊人影院| 99精品国产一区二区三区不卡| 26uuu亚洲综合色| 午夜精品久久久久久久99樱桃| 91在线观看污| 欧美激情在线一区二区三区| 激情欧美一区二区| 日韩一级黄色大片| 日韩经典一区二区| 欧美丰满一区二区免费视频| 亚洲黄色尤物视频| 色综合色综合色综合| 国产精品不卡视频| 日韩小视频在线观看专区| 麻豆成人免费电影| 久久久久久久久久看片| 婷婷国产v国产偷v亚洲高清| 欧洲精品视频在线观看| 一区二区三区在线免费| 色综合久久久久| 亚洲欧美一区二区三区极速播放| 97成人超碰视| 国产精品国产三级国产aⅴ无密码| 福利电影一区二区三区| 国产精品传媒入口麻豆| 91成人免费在线视频| 亚洲靠逼com| 在线影视一区二区三区| 亚洲一区中文在线| 欧美日韩国产一二三| 日韩av午夜在线观看| 日韩欧美自拍偷拍| 久久国产夜色精品鲁鲁99| 久久久综合九色合综国产精品| 国产精品影视在线观看| 国产精品美女久久久久aⅴ| av成人免费在线观看| 亚洲精品中文字幕在线观看| 欧美性xxxxxxxx| 免费人成黄页网站在线一区二区| 日韩欧美一级精品久久| 国产精品亚洲一区二区三区在线 | 99久久婷婷国产综合精品| 成人激情黄色小说| 亚洲欧美在线另类| 色婷婷国产精品| 日本亚洲电影天堂| 精品对白一区国产伦| 国产福利一区二区三区视频 | 国产v综合v亚洲欧| 国产精品久久看| 精品视频123区在线观看| 免费看欧美女人艹b| 国产亚洲精品中文字幕| 色成年激情久久综合| 日韩av在线播放中文字幕| 久久久久久夜精品精品免费| 色综合一个色综合亚洲| 日韩成人免费看| 国产欧美日韩激情| 欧美日韩中文字幕精品| 激情五月婷婷综合| 成人免费一区二区三区在线观看| 欧美日韩精品欧美日韩精品一| 国内精品在线播放| 亚洲精品国产第一综合99久久| 欧美一级日韩免费不卡| 成人国产视频在线观看| 日韩黄色片在线观看| 国产精品麻豆久久久| 精品视频免费看| 国产伦精一区二区三区| 亚洲午夜久久久| 国产亚洲制服色| 欧美日韩国产综合视频在线观看 | 91理论电影在线观看| 另类调教123区 | 成人福利视频在线看| 日韩极品在线观看| 日韩毛片视频在线看| 日韩美女视频一区二区在线观看| 91影视在线播放| 国产美女在线观看一区| 午夜精品久久久久久久久久久 | 另类人妖一区二区av| 美美哒免费高清在线观看视频一区二区 | 午夜精品一区在线观看| 精品999在线播放| 欧美自拍偷拍午夜视频| 激情偷乱视频一区二区三区| 亚洲韩国一区二区三区| 国产精品乱码一区二区三区软件| 欧美一区二区精品| 色噜噜久久综合| 成人一区二区在线观看| 青青草一区二区三区| 亚洲一区二区高清| 中文字幕一区二区三区乱码在线 | 亚洲制服丝袜在线| 国产精品久久久久久久久图文区| 日韩精品专区在线影院观看 | 中文字幕av资源一区| 日韩一级高清毛片| 欧美日本韩国一区二区三区视频| 色综合久久综合中文综合网| 成人午夜又粗又硬又大| 国产一区在线观看视频| 麻豆精品视频在线观看免费| 日日欢夜夜爽一区| 亚洲电影视频在线| 亚洲一区二区四区蜜桃| 一区二区三区精品视频| 综合久久一区二区三区| 中文字幕精品三区| 久久综合九色欧美综合狠狠| 日韩欧美美女一区二区三区| 欧美精品一级二级| 欧美一区二区三区视频在线 | 国产精品久久精品日日|