Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>The following is a working example from one of my apps. They should all go in the applicationContext or in a .xml loaded by the appContext.</p> <p>The first snippet is the configuration of the datasource, using connection pooling:</p> <pre><code>&lt;bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close" p:driverClass="${jdbc.driverClassName}" p:jdbcUrl="${jdbc.url}" p:user="${jdbc.username}" p:password="${jdbc.password}" /&gt; </code></pre> <p>Next up is a Property bean. If you are unsure about any of these settings, please refer to the corresponding APIs.</p> <pre><code>&lt;bean id="hibernateProps" class="org.springframework.beans.factory.config.PropertiesFactoryBean"&gt; &lt;property name="properties"&gt; &lt;props&gt; &lt;prop key="hibernate.hbm2ddl.auto"&gt;update&lt;/prop&gt; &lt;prop key="hibernate.dialect"&gt;org.hibernate.dialect.PostgreSQLDialect&lt;/prop&gt; &lt;prop key="hibernate.show_sql"&gt;false&lt;/prop&gt; &lt;prop key="hibernate.c3p0.minPoolSize"&gt;5&lt;/prop&gt; &lt;prop key="hibernate.c3p0.maxPoolSize"&gt;20&lt;/prop&gt; &lt;prop key="hibernate.c3p0.idleTestPeriod"&gt;300&lt;/prop&gt; &lt;prop key="hibernate.c3p0.timeout"&gt;600&lt;/prop&gt; &lt;prop key="hibernate.c3p0.max_statement"&gt;50&lt;/prop&gt; &lt;prop key="hibernate.c3p0.testConnectionOnCheckout"&gt;false&lt;/prop&gt; &lt;prop key="hibernate.c3p0.preferredTestQuery"&gt;select 1;&lt;/prop&gt; &lt;/props&gt; &lt;/property&gt; &lt;/bean&gt; </code></pre> <p>Now this is the interesting part. Here you wire it all together and tell the sessionfactory where to look for annotated Classes (packagesToScan).</p> <pre><code>&lt;bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" p:dataSource-ref="dataSource" p:packagesToScan="your.package.path" p:hibernateProperties-ref="hibernateProps" /&gt; </code></pre> <p>To make this example work, you should use the following dependencies (given for maven):</p> <pre><code> &lt;dependency&gt; &lt;groupId&gt;javax.persistence&lt;/groupId&gt; &lt;artifactId&gt;persistence-api&lt;/artifactId&gt; &lt;version&gt;1.0&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-webmvc&lt;/artifactId&gt; &lt;version&gt;3.0.2.RELEASE&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-orm&lt;/artifactId&gt; &lt;version&gt;3.0.2.RELEASE&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.hibernate&lt;/groupId&gt; &lt;artifactId&gt;hibernate&lt;/artifactId&gt; &lt;version&gt;3.2.7.ga&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.hibernate&lt;/groupId&gt; &lt;artifactId&gt;hibernate-annotations&lt;/artifactId&gt; &lt;version&gt;3.3.0.ga&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.hibernate&lt;/groupId&gt; &lt;artifactId&gt;hibernate-commons-annotations&lt;/artifactId&gt; &lt;version&gt;3.3.0.ga&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;c3p0&lt;/groupId&gt; &lt;artifactId&gt;c3p0&lt;/artifactId&gt; &lt;version&gt;0.9.1&lt;/version&gt; &lt;/dependency&gt; </code></pre> <p>When you have setup your project like this, the following @Entity mappings are managed by spring automatically:</p> <pre><code>package your.package.path; import java.io.Serializable; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.Transient; @Entity @Table(name = "table_name") public class DomainObject implements Serializable { . . . } </code></pre> <p>If you have any further questions, please let me know.</p> <p>greetings</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload