java涓璾niqueresult鏂规硶鎬庝箞浣跨敤
鍦↗ava涓紝UniqueResult鏂规硶鏄疕ibernate妗嗘灦涓殑鏂规硶锛岀敤浜庢墽琛屾煡璇㈠苟杩斿洖鍞竴缁撴灉銆備娇鐢║niqueResult鏂规硶锛岄鍏堥渶瑕佸缓绔婬ibernate Session锛岀劧鍚庨€氳繃Session瀵硅薄璋冪敤createQuery鏂规硶鍒涘缓鏌ヨ瀵硅薄锛屾帴鐫€浣跨敤UniqueResult鏂规硶鎵ц鏌ヨ锛屽苟杩斿洖缁撴灉銆?/p>
涓嬮潰鏄竴涓娇鐢║niqueResult鏂规硶鐨勭ず渚嬶細
import org.hibernate.Session;
import org.hibernate.query.Query;
public class Main {
public static void main(String[] args) {
// 鍒涘缓 Hibernate Session
Session session = HibernateUtil.getSessionFactory().openSession();
// 鍒涘缓鏌ヨ瀵硅薄
Query query = session.createQuery("FROM User WHERE id = :id");
query.setParameter("id", 1L);
// 鎵ц鏌ヨ骞惰繑鍥炲敮涓€缁撴灉
User user = (User) query.uniqueResult();
System.out.println("User: " + user);
// 鍏抽棴 Session
session.close();
}
}
涓婅堪绀轰緥涓紝棣栧厛鍒涘缓浜嗕竴涓狧ibernate Session锛屽苟涓斿垱寤轰簡涓€涓煡璇㈠璞★紝鏌ヨ璇彞涓?quot;FROM User WHERE id = :id"锛屽叾涓?quot;:id"涓哄弬鏁板崰浣嶇銆傛帴鐫€浣跨敤setParameter鏂规硶璁剧疆鍙傛暟鍊笺€傛渶鍚庝娇鐢╱niqueResult鏂规硶鎵ц鏌ヨ锛屽苟灏嗙粨鏋滃己鍒惰浆鎹负User瀵硅薄銆?/p>
闇€瑕佹敞鎰忕殑鏄紝濡傛灉鏌ヨ缁撴灉涓虹┖鎴栬繑鍥炲涓粨鏋滐紝鍒檜niqueResult鏂规硶浼氭姏鍑篘oResultException鎴朜onUniqueResultException寮傚父銆傚洜姝わ紝鍦ㄤ娇鐢╱niqueResult鏂规硶涔嬪墠锛岄渶瑕佺‘淇濇煡璇㈢粨鏋滄槸鍞竴鐨勩€?/p>
姝ゅ锛岃繕鍙互浣跨敤Criteria API鎴朒QL璇彞鏉ユ墽琛屾煡璇㈠苟浣跨敤uniqueResult鏂规硶銆傚叿浣撲娇鐢ㄦ柟寮忓彲浠ユ牴鎹叿浣撶殑闇€姹傛潵閫夋嫨銆?/p>