ความคิดคือ:
นี่คือตัวอย่างเล็ก ๆ :
ตารางหลักหลายต่อหลายตารางตารางบุคคลที่สาม โต๊ะ:
สร้างตาราง thrid (one_id int ไม่ใช่ null, two_id int ไม่ใช่ null, constranit fk_one_id froeign key (one_id) การอ้างอิงหนึ่ง (ID_IN_ONE), ข้อ จำกัด fk_two_id คีย์ต่างประเทศ (สอง) การอ้างอิงสอง (ID_IN_TWO));
ที่นี่เราใช้คีย์หลักของสองตารางเป็นกุญแจต่างประเทศสำหรับบุคคลที่สามนี้ สิ่งนี้ทำให้ง่ายต่อการสร้างความสัมพันธ์
เพื่อให้สอดคล้องกับข้อกำหนดการตั้งชื่อ Javabean หากมีพารามิเตอร์หรือไม่แอตทริบิวต์ตัวสร้างเป็นส่วนตัว หากคุณเข้าถึง Setter และ Getter ทั่วไปคุณต้องจำไว้ว่าต้องรวมชุดที่ตั้งไว้ในหลายตาราง
ไฟล์การแมปนี้อาจกล่าวได้ว่าเป็นแกนกลางของไฮเบอร์เนต โปรดทราบว่าควรวางไฟล์นี้ไว้ในไดเรกทอรีเดียวกับคลาสเอนทิตีนั่นคือมันจะดีกว่าที่จะอำนวยความสะดวกในการค้นหาและการดำเนินการ
ใช้ปลั๊กอินเพื่อสร้างหรืออ้างอิงเทมเพลตเพื่อทำการดัดแปลง แกนกลางที่สุดคือแท็กชุดและแท็กหลายต่อหลายคนดังต่อไปนี้:
การกำหนดค่าไฟล์การแมปพนักงาน (หลายรายการ)
<? xml เวอร์ชัน = "1.0"?> <! Doctype hibernate-mapping สาธารณะ "-// hibernate/hibernate mapping dtd 3.0 // en" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" name = "Employee" table = "Employee"> <id name = "id"> <generator> </generator> </id> <property name = "name"> </property> <!
และไฟล์การทำแผนที่แผนก
<! doctype hibernate-mapping สาธารณะ "-// hibernate/hibernate mapping dtd 3.0 // en" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> NAME = "ID"> <Generator> </generator> </id> <ชื่อคุณสมบัติ = "ชื่อ"> </prove> <!-แอตทริบิวต์พนักงานตั้งค่าการรวบรวมแสดงแอตทริบิวต์ผกผันแบบหนึ่งต่อหลายคนของแผนกและพนักงาน: จริงระบุว่ามันให้การรักษาความสัมพันธ์ของสมาคมและค่าเริ่มต้นเป็นเท็จ -> <set name = "พนักงาน" inverse = "true"> <คีย์คอลัมน์ = "แผนก"> </key> <แบบหนึ่งต่อหลาย/> </et> </class> </hibernate-mapping>
หลังจากกำหนดค่าขั้นตอนข้างต้นเราสามารถเขียนรหัสเลเยอร์ "DAO" ของเราได้ตามปกติ แต่ด้วยสิ่งประดิษฐ์เซสชันไฮเบอร์เนตสิ่งที่เราต้องทำคือการโทร API ที่เกี่ยวข้องในชั้น DAO นี่จะเป็นงานที่ง่ายมาก
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้เกี่ยวกับรหัสตัวอย่างการดำเนินการหลายตาราง Hibernate ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน เพื่อนที่สนใจสามารถอ้างถึงหัวข้ออื่น ๆ ที่เกี่ยวข้องในเว็บไซต์นี้ต่อไป หากมีข้อบกพร่องใด ๆ โปรดฝากข้อความไว้เพื่อชี้ให้เห็น ขอบคุณเพื่อนที่ให้การสนับสนุนเว็บไซต์นี้!