Skip to main content
Jump to: navigation, search

Teneo/Hibernate/Download and Install

< Teneo‎ | Hibernate
Revision as of 02:22, 3 March 2010 by Mtaal.elver.org (Talk | contribs) (Download Example Project for Tutorials)


The installation method for Teneo depends on the target environment(Eclipse/OSGI or web container). Both cases are discussed on this page. This page also describes where to find the example projects used in the tutorials in the wiki.

Teneo is build and tested on Eclipse 3.5 (Teneo 1.1.*) and Eclipse 3.6 (Teneo 1.2.*). This page assumes that you have a running Eclipse 3.5/3.6 instance available.

Dependencies

To run Teneo you need the following software:

  • EMF 2.5 (Teneo 1.1.*) or 2.6 (Teneo 1.2.*)
  • Hibernate 3.3.2 and its dependencies
  • Apache commons logging
  • JDBC driver

Some dependencies can not be downloaded from eclipse.org because of licensing differences. Teneo provides an update site with the required dependencies: http://www.elver.org/eclipse/update.

Download and install using the update manager (for usage in Eclipse/OSGI)

To download and install Teneo and its dependencies, use the following update sites:

It is best to combine EMF 2.5 with a Teneo 1.1.2 maintenance build.

The EMF update site, select the EMF/XSD SDK:

Org.eclipse.emf.teneo.install emf.png


The Teneo update site will look similar to this image. Select the Teneo Hibernate SDK:


Org.eclipse.emf.teneo.update.site.png


The elver update site lists the Hibernate, dom4j and a number of JDBC plugins (select them all):


Org.eclipse.emf.teneo.install dependency.png

Creating your own Hibernate plugin

If you want to make your own Hibernate/library plugin there is one specific setting which needs to be set in your plugin: make sure to add the following line to the MANIFEST.MF of the Hibernate/libraries plugin you create:

Eclipse-BuddyPolicy: dependent

This is required otherwise the Hibernate libraries can not find your model classes when performing runtime class enhancement. See here for more information. Note that also other Eclipse-BuddyPolicy settings can be used (and can make sense in production environments) but the 'dependent' setting is the safest one.

Install Teneo for usage within a Web Container

For usage within a web container the following jar files are required. You can find these files in the plugins folder of your eclipse installation, after installing through the update manager:

  • EMF jar files:
    • org.eclipse.emf.ecore
    • org.eclipse.emf.common
    • org.eclipse.emf.ecore.xmi
  • Teneo jar files:
    • org.eclipse.emf.teneo
    • org.eclipse.emf.teneo.annotations
    • org.eclipse.emf.teneo.hibernate
    • org.eclipse.emf.teneo.hibernate.mapper
  • Dependencies: it is probably best to download hibernate, commons-logging and a jdbc driver directly from their respective websites. You can however also find these jar files in the eclipse/plugins directory after installing the Teneo dependencies through the update manager.

For a web container these jar files should be placed in the WEB-INF/lib directory of your web application.

Download Example Project for Tutorials

The example project (org.eclipse.emf.teneo.hibernate.examples) can be found on this cvs location:

  • dev.eclipse.org
  • /cvsroot/modeling
  • org.eclipse.emf/org.eclipse.emf.teneo/examples

The main examples project used in the tutorials is the: org.eclipse.emf.teneo.hibernate.examples project.

This example project uses an extended version of the well-known EMF library example. The example project contains the generated model code and a number of tutorial classes showing how to work with EMF, Teneo and Hibernate.

Some more details regarding the example project. The example project consists of the following:

  • an ecore model and genmodel (in the model subfolder)
  • generated model code (no manual changes done, so you can change the ecore model and regenerate the code)
  • a number of tutorial java classes in the org.eclipse.emf.teneo.hibernate.examples package

The MANIFEST.MF of the examples project lists dependencies on several plugins:

Require-Bundle: org.eclipse.core.runtime,
 org.eclipse.emf.ecore;visibility:=reexport,
 org.eclipse.emf.ecore.xmi;visibility:=reexport,
 org.eclipse.emf.teneo.hibernate;bundle-version="1.1.2",
 org.hibernate;bundle-version="3.3.2",
 org.eclipse.emf.ecore.change,
 org.apache.commons.logging,
 org.dom4j,
 org.hsqldb,
 com.mysql.jdbc

The Teneo and Hibernate plugins declare dependencies using import-packages. When running the testcases as normal Java applications or standard junit tests then there is no OSGI environment which takes care of resolving these import-packages. By explicitly declaring the dependency in the MANIFEST.MF you prevent class not found exceptions.

Back to the top