Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Stardust/Knowledge Base/Integration/Data/Hibernate Data Examples
< Stardust | Knowledge Base | Integration | Data
Revision as of 05:39, 13 November 2011 by Vikram.kodak.sungard.com (Talk | contribs) (→Configuration)
Contents
Hibernate Data Type Examples
Purpose
This article covers the Hibernate Data Type (one of the data types used in Modelling workbench), and uses audit trail database as datasource.
Requirements
- Hibernate libraries
- hibernate3.jar
- Database client driver
- derbyclient.jar
CREATE TABLE testuser ( id BIGINT NOT NULL, name VARCHAR(255), PRIMARY KEY (id) );
Configuration
carnot-spring-context.xml
... <!-- deactivate the common CARNOT-TXManager <bean id="carnotTxManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource"> <ref bean="carnotAuditTrailDataSource" /> </property> </bean> --> <!-- create a new hibernate based TXManager --> <bean id="carnotTxManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"> <ref local="hibernateSessionFactory" /> </property> </bean>
...
<!-- create a hibernate session factory --> <!-- using the audittrail database as datasource and use a separat hibernate configuration file --> <bean id="hibernateSessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource" ref="carnotAuditTrailDataSource" /> <property name="configLocation" value="classpath:/hibernate.cfg.xml" /> </bean>
- Change to View "java perspective" --> "package Explorer" in Eclipse
- Create a folder "etc" in your Application and the file "hibernate.cfg.xml"
- To add the Sourse to a Build Path execute a Command "Buil Path --> Use as Source Folder" on the "etc"-Folder
hibernate.cfg.xml
<?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"<br> "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="show_sql">true</property> <!-- shows the executed sql-statements as console output --> <property name="dialect">org.hibernate.dialect.DerbyDialect</property> <property name="hiberante.connection.autocommit">false</property> <property name="hibernate.current_session_context_class">thread</property> <!-- Mapping files --> <mapping resource="UserImpl.hbm.xml" /> </session-factory> </hibernate-configuration>
UserImpl.hbm.xml
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" > <hibernate-mapping package="com.sungard.hibernate.test"> <class name="com.sungard.hibernate.test.User" table="testuser"> <id name="id" column="id" type="long" unsaved-value="0"> <generator class="increment" /> </id> <property name="id" type="long" update="false" insert="false" column="id" /> <property name="name" type="java.lang.String" update="true" insert="true" column="name" /> </class> </hibernate-mapping>
Java classes
User.java
package com.sungard.hibernate.test; import java.io.Serializable; public class User implements Serializable { private static final long serialVersionUID = -3748194293463505622L; private long id; private String name; public User() { } public String getName() { return name; } public void setName(String name) { this.name = name; } public long getId() { return id; } public void setId(long id) { this.id = id; }