โดยปกติ Hibernate สามารถจะโหลด sql script เข้าไปได้ ถ้าเราสร้างไฟล์ชื่อ import.sql น่ะครับ แล้วกำหนด hibernate properties
hibernate.hbm2ddl.auto ให้มีค่า create หรือ create-drop แล้ว Hibernate จะโหลดไฟล์นี้ขึ้นมาให้อัตโนมัติ (ไฟล์จะไปวางไว้ที่ classpath เช่น src/main/resources)
แต่เราจะไม่เห็น log ว่าโหลด sql script ทำสำเร็จหรือไม่สำเร็จโดย
1. ต้องไปเพิ่ม Log4j ของ package org.hibernate.tool.hbm2ddl
2. Hibernate จะใช้ slf4j มาเพราะฉะนั้นเราต้องเอา Jar ของ slf4j มาด้วย ไม่อย่างนั้นพอเวลารันไปก็ไม่เห็นอยู่ดีครับ เพิ่มใน pom.xml เข้าไปก็จะใช้งานได้แล้วครับ
ปล. ผมใช้ hibernate 3.6.3 (ต่ำกว่านี้น่าจะใช้ได้ตั้งแต่ 3.x) จะสามารถกำหนด sql script ได้ และสามารถกำหนัดได้หลายๆ ไฟล์ โดยใช้ , ต่อกัน ซึ่งจะใช้ hibernate properties อันนี้ครับ
hibernate.hbm2ddl.import_files
hibernate.hbm2ddl.auto ให้มีค่า create หรือ create-drop แล้ว Hibernate จะโหลดไฟล์นี้ขึ้นมาให้อัตโนมัติ (ไฟล์จะไปวางไว้ที่ classpath เช่น src/main/resources)
แต่เราจะไม่เห็น log ว่าโหลด sql script ทำสำเร็จหรือไม่สำเร็จโดย
1. ต้องไปเพิ่ม Log4j ของ package org.hibernate.tool.hbm2ddl
2. Hibernate จะใช้ slf4j มาเพราะฉะนั้นเราต้องเอา Jar ของ slf4j มาด้วย ไม่อย่างนั้นพอเวลารันไปก็ไม่เห็นอยู่ดีครับ เพิ่มใน pom.xml เข้าไปก็จะใช้งานได้แล้วครับ
<dependency>
<groupid>org.slf4j</groupid>
<artifactid>slf4j-log4j12</artifactid>
<version>1.6.2</version>
</dependency>
<groupid>org.slf4j</groupid>
<artifactid>slf4j-log4j12</artifactid>
<version>1.6.2</version>
</dependency>
ปล. ผมใช้ hibernate 3.6.3 (ต่ำกว่านี้น่าจะใช้ได้ตั้งแต่ 3.x) จะสามารถกำหนด sql script ได้ และสามารถกำหนัดได้หลายๆ ไฟล์ โดยใช้ , ต่อกัน ซึ่งจะใช้ hibernate properties อันนี้ครับ
hibernate.hbm2ddl.import_files