1<!--$Id: java.so,v 1.3 2006/09/18 14:45:52 bostic Exp $--> 2<!--Copyright (c) 1997,2008 Oracle. All rights reserved.--> 3<!--See the file LICENSE for redistribution information.--> 4<html> 5<head> 6<title>Berkeley DB Reference Guide: Release 4.3: Java</title> 7<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit."> 8<meta name="keywords" content="embedded,database,programmatic,toolkit,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,Java,C,C++"> 9</head> 10<body bgcolor=white> 11<table width="100%"><tr valign=top> 12<td><b><dl><dt>Berkeley DB Reference Guide:<dd>Upgrading Berkeley DB Applications</dl></b></td> 13<td align=right><a href="../upgrade.4.3/intro.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../upgrade.4.3/err.html"><img src="../../images/next.gif" alt="Next"></a> 14</td></tr></table> 15<p align=center><b>Release 4.3: Java</b></p> 16<p>The Berkeley DB Java API has changed significantly in the 4.3 release, in ways 17incompatible with previous releases. This has been done to provide a 18consistent Java-like API for Berkeley DB as well as to make the Berkeley DB Java API 19match the API in Berkeley DB Java Edition, to ease application-porting between 20the two libraries.</p> 21<p>Here is a summary of the major changes:</p> 22<ol> 23<p><li>The low-level wrapper around the C API has been moved into a package 24called com.sleepycat.db.internal. 25<p><li>There is a new public API in the package com.sleepycat.db. 26<p><li>All flags and error numbers have been eliminated from the public API. 27All configuration is done through method calls on configuration objects. 28<p><li>All classes and methods are named to Java standards, matching Berkeley DB Java 29Edition. For example: 30<blockquote><pre><p><ul type=disc> 31<li>Db -> Database 32<li>Dbc -> Cursor 33<li>Dbt -> DatabaseEntry 34<li>DbEnv -> Environment 35<li>DbTxn -> Transaction 36<li>Db.cursor -> Database.openCursor 37<li>Dbc.get(..., DbConstants.DB_CURRENT) -> Cursor.getCurrent(...) 38</ul></pre></blockquote> 39<p><li>The statistics classes have "getter" methods for all fields. 40<p><li>In transactional applications, the Java API infers whether to 41auto-commit operations: if an update is performed on a transactional 42database without supplying a transaction, it is implicitly 43auto-committed. 44<p><li>The com.sleepycat.bdb.* packages have been reorganized so that the binding 45classes can be used with the base API in the com.sleepycat.db package. The 46bind and collection classes are now essentially the same in Berkeley DB and Berkeley DB 47Java Edition. The former com.sleepycat.bdb.bind.* packages are now the 48com.sleepycat.bind.* packages. The former com.sleepycat.bdb, 49com.sleepycat.bdb.collections, and com.sleepycat.bdb.factory packages are now 50combined in the new com.sleepycat.collections package. 51<p><li>A layer of the former collections API has been removed to simplify the API and 52to remove the redundant implementation of secondary indices. The former 53DataStore, DataIndex, and ForeignKeyIndex classes have been removed. Instead 54of wrapping a Database in a DataStore or DataIndex, the Database object is now 55passed directly to the constructor of a StoredMap, StoredList, etc. 56</ol> 57<table width="100%"><tr><td><br></td><td align=right><a href="../upgrade.4.3/intro.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../upgrade.4.3/err.html"><img src="../../images/next.gif" alt="Next"></a> 58</td></tr></table> 59<p><font size=1>Copyright (c) 1996,2008 Oracle. All rights reserved.</font> 60</body> 61</html> 62