# Copyright (c) 2004 - 2011 Eike Stepper (Berlin, Germany) and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html

featureName = CDO Model Repository Server Hibernate
description = Contains the HibernateStore and Teneo integration plugins. Ensure that Hibernate is already installed! Visit http://www.elver.org/eclipse/update for a p2 repository that contains Hibernate.
