Freeze Manual

Persistent Storage for Ice Objects

The Freeze persistence service allows you to store Ice objects in Oracle Berkeley DB, with all the features you expect from a robust database - transactions, hot backups, indexing, and more.

In C++, Freeze and Berkeley DB consist of a library that you link with your C++ application. In Java, Freeze is a JAR file that you include in your Java application. Together, Freeze and Berkeley DB give you a fully embedded solution: the databases are regular files on a local file system, there is no database server to setup, and there is no need for ongoing database administration.

Freeze lets you choose between two persistence models: evictors and maps. With Freeze evictors, Freeze persists the state of your Ice objects automatically; these Ice objects just need to define their persistent state in Slice classes. The alternative is to store key-value pairs in Freeze maps, where key and value are both Slice types.

Freeze supports only the deprecated Slice to C++98 and Slice to Java Compat mappings. Freeze is likewise a deprecated service: we do not recommend using Freeze for new applications.

Getting Help with Freeze

If you have a question and you cannot find an answer in this manual, you can visit our developer forums to see if another developer has encountered the same issue. If you still need help, feel free to post your question on the forums, which ZeroC's developers monitor regularly. Note, however, that we can provide only limited free support in our forums. For guaranteed response and problem resolution times, you should subscribe to ZeroC's Priority Support.

Legal Notices

Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this manual and ZeroC was aware of the trademark claim, the designations have been printed in initial caps or all caps. ZeroC has taken care in the preparation of this manual but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein.


This manual is provided under the Creative Commons Attribution-ShareAlike 4.0 International Public License


Copyright © 2003-2019 by ZeroC, Inc.