2016-12-28 16 views
0

Hibernateはコード可読性データベースの移植休止一覧

のための非常に良いです。ここで私は、行の数十万人を返すクエリを持っている場合

HIBERNATE VERSION

String hql = "FROM Employee"; 
    Query query = session.createQuery(hql); 
    List results = query.list(); // this list is limited my the size of my RAM 

JDBC VERSION

ResultSet resSet = connection.executeQuery("SELECT * FROM Employee"); 
while (resSet.next()) { 
// This resSet is not limited to my RAM 
} 

だから、私はより良いとそれを処理する必要があります例です。 JDBCを使用すると、各行を順番に処理できるため、すべてのRAMを使用するわけではありません。

私は正しいですか?あるいは、Hibernateは、RAMを "洪水"しないResultSetオブジェクトに似た "ストリーミングリスト"を持っていますか?

答えて

0

公式ウェブ休止少しを読む:あなたに答える

http://hibernate.org/orm/

を、(ネイティブクエリhttps://www.mkyong.com/hibernate/hibernate-native-sql-queries-examples/で多分)休止可能がないHibernateは抽象化であるため、JDBCより少ないメモリや時間のプロセスを取りますJPAとJDBCの両方をサポートしていますので、開発者がプロ​​グラミングを迅速かつ容易に行えるように構築されていますが、処理するにはより多くのリソースが必要です