Frage

Wir haben eine Frühjahr / Hibernate app und möchte eine kleine Menge von JDBC aus Gründen hinzuzufügen von Leistungs- und Entwicklungszeit. Ich kann diese dao Unterklasse HibernateDaoSupport machen und die Sitzung der Verbindung verwenden, um meine JDBC ausführen, aber ich würde lieber JdbcTemplate verwenden. JdbcTemplate jedoch initialisiert eine java.sql.DataSource verwenden. Wie kann ich meine vorhandenen Hibernate Session es zu initialisieren?

War es hilfreich?

Lösung

Sind Sie nicht erforderlich, um eine Datasource an die Session Implementierung zur Verfügung stellen? Warum Sie nicht Draht, der in der JDBC-Vorlage?

Welche Session Implementierung verwenden Sie? Wenn Sie die Frühlings-Implementierungen verwenden, finden Sie unter AbstractSessionFactoryBean.html # getDataSource ()

Andere Tipps

Sie können jederzeit eine Hibernate Sitzung doWork Methode - das gibt Ihnen einen java.sql.Connection. Sie können diese Verbindung verwenden, um ein Konstrukt a SingleConnectionDataSource (Anmerkung: das zweite Argument immer wahr sein sollte, wie Sie die zugrunde liegende Verbindung nicht schließen möchten) und diese Datenquelle übergeben zu Ihrer JDBCTemplate ...

  

"Extrahieren einer Datenquelle aus unserem   Hibernate Konfiguration scheint, wie ein   Viel Arbeit für das, was ich brauche "

Ich sehe nicht, warum es, dass viel Arbeit nehmen würde. Es ist nur eine Frage der Schaffung, Ausschneiden und Kopieren ein paar Tags und Eigenschaften.

Zum Beispiel:

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
      <property name="dataSource">
          <ref bean="dataSource"/>    
      </property>
...
</bean>
  

"Welche Session Umsetzung   benutzt du? Wenn Sie mit der   Frühlings-Implementierungen finden   AbstractSessionFactoryBean.html # getDataSource () "

Offenbar getDataSource () ist nur für Spring 2.5. Hier ist die Referenz: Klicken Sie hier

Frühling 2.0 nicht die getDataSource haben (). Hier ist die Referenz: Klicken Sie hier

  

wurde Unsere Sitzung Fabrik erstellt   AnnotationSessionFactoryBean   mit Hibernate Eigenschaften initialisiert   ...   hibernateSessionFactory ist ein   Session. Wie würde ich eine bekommen   Bezug auf die SessionFactoryBean?

Ich frage mich, warum Sie eine Session anstelle eines LocalSessionFactoryBean verwendet, die eine Unterklasse von AnnotationSessionFactoryBean ist?

Ist nicht die Zeile bean id = "hibernateSessionFactory" Referenzen der SessionFactoryBean bereits?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top