Dalam proyek Spring MVC saya sebelumnya, saya telah menggunakan Hibernate sebagai penyedia JPA. Saya tidak perlu membuat file hibernate.cfg.xml
karena saya telah mendeklarasikan Hibernate Session Factory di file Konteks Spring DispatcherServlet saya dan saya telah mendeklarasikan file persistence.xml
.
Dalam proyek baru saya, saya pada dasarnya ingin menggunakan Hibernate. Saya telah membuat kelas entitas dari struktur database saya. Namun di IDEA DAO kelas belum dibuat, mengapa? Bisakah saya menghasilkan kelas DAO di IDEA? Dan selama membuat POJO ini, kelas entitas yang saya buat juga Hibernate Session Factory di file Konteks DispatcherSerlvet.
Saya telah membuat kelas DAO sederhana saya sendiri untuk memeriksa kelas yang ada di database. Namun kesalahan ini telah terjadi:
Error in creating SessionFactory object./hibernate.cfg.xml not found
Jadi saya berasumsi saya harus membuat hibernate.cfg.xml
. Dan jika ya, apakah saya harus menyimpan deklarasi Hibernate Session Factory di file Konteks DispatcherServlet saya?
EDIT
<!-- Hibernate session factory -->
<beans:bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<beans:property name="dataSource">
<beans:ref bean="dataSource" />
</beans:property>
<beans:property name="hibernateProperties">
<beans:props>
<beans:prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</beans:prop>
<beans:prop key="hibernate.show_sql">true</beans:prop>
<beans:prop key="hibernate.hbm2ddl.auto">update</beans:prop>
<beans:prop key="hibernate.connection.url">jdbc:mysql://localhost/finances</beans:prop>
<beans:prop key="hibernate.connection.driver_class">com.mysql.jdbc.Driver</beans:prop>
<beans:prop key="hibernate.connection.username">root</beans:prop>
<beans:prop key="hibernate.connection.password">root</beans:prop>
</beans:props>
</beans:property>
<beans:property name="annotatedClasses">
<beans:list>
<beans:value>my.package.FirstClass</beans:value>
<beans:value>my.package.SecondClass</beans:value>
</beans:list>
</beans:property>
</beans:bean>
<!-- Hibernate session factory end -->
<beans:bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<beans:property name="sessionFactory" ref="sessionFactory" />
</beans:bean>
EDIT #2
Saya telah memindahkan kelas beranotasi dan definisi koneksi ke file hibernate.cfg.xml
. Saya telah menghapus definisi pabrik sesi dan juga definisi Transaction Manager
dari file konfigurasi pegas. Dan objek sederhana saya yang bertahan di database saya berfungsi dengan baik. Jadi mungkin ini cara terpendek untuk bekerja dengan Spring MVC dan Hibernate? Tapi bagaimana dengan Transaction Manager
? Apakah ini diperlukan oleh operasi atau tindakan lain?