ฉันกำลังพัฒนาแอปพลิเคชันด้วย spring roo ซึ่งใช้สปริง 3 และไฮเบอร์เนต
เนื่องจากแบ็กเอนด์ถูกสร้างขึ้นมาให้ไม่มีประสิทธิภาพ ฉันจึงมีตัวเลือกในการตั้งค่าข้อมูลกลับไปเป็นดัมพ์
ดัมพ์นี้ควร "ดำเนินการ" หากผู้ใช้ส่งแบบฟอร์ม jsp ฉันสามารถโหลดไฟล์ Dump.sql ได้และทุกอย่างก็เรียบร้อยดี ยกเว้นว่าฉันไม่รู้วิธีดำเนินการ ฉันลองหลายวิธีแล้ว:
1. Native Query พร้อมตัวจัดการเอนทิตี:
Query q = entityManager.createNativeQuery(dump);
q.executeUpdate();
แต่มันใช้งานไม่ได้ (ข้อยกเว้นไฮเบอร์เนต) ฉันคิดว่าเป็นเพราะไฮเบอร์เนตไม่สามารถ "อ่าน" ไฟล์ Dump.sql ที่ส่งออก mysql ได้"
2. วิธีคือใช้แค่ไฮเบอร์เนต:
Configuration cfg = new Configuration();
File configFile = new File(getClass().getClassLoader().getResource("/METAINF/persistence.xml").toURI());
cfg.configure(configFile);
SessionFactory sf=cfg.buildSessionFactory();
Session sess=sf.openSession();
Statement st;
st = sess.connection().createStatement();
แต่มันก็ไม่ได้ผลเช่นกัน:
org.hibernate.MappingException: การกำหนดค่าไม่ถูกต้องเกิดจาก: org.xml.sax.SAXParseException: เอกสารไม่ถูกต้อง: ไม่พบไวยากรณ์
มีข้อเสนอแนะอะไรบ้าง?