การวิจัยหลักในบทความนี้คือเนื้อหาที่เกี่ยวข้องของการทำแผนที่องค์ประกอบไฮเบอร์เนตดังต่อไปนี้
แอตทริบิวต์ของแผนที่การเชื่อมโยงส่วนประกอบเป็นประเภทที่ซับซ้อนของคลาสถาวร แต่ไม่ใช่คลาสเอนทิตีนั่นคือไม่มีตารางในฐานข้อมูลที่สอดคล้องกับแอตทริบิวต์นี้ แต่คุณลักษณะของคลาสนี้จะต้องคงอยู่
ตัวอย่างเช่น: ชื่อของชาวต่างชาติแบ่งออกเป็นชื่อแรกและนามสกุล
คลาสสาธารณะ myName {สตริงส่วนตัว firstName; สตริงส่วนตัวนามสกุล; สตริงสาธารณะ getFirstName () {return firstName;} โมฆะสาธารณะ setFirstName (สตริง firstName) {this.firstName = firstName;} สตริงสาธารณะ getLaStName () {return lastName;หมายเหตุ: นี่คือคลาสส่วนประกอบที่ไม่ได้แมปกับฐานข้อมูลและสอดคล้องกับฟิลด์ชื่อในคน
คนชั้นเรียนสาธารณะ {Private Integer PID;/*ชื่อถูกรวมเข้าด้วยกันผ่านคลาส myname นั่นคือ, การเชื่อมโยงส่วนประกอบ*/ชื่อ myname ส่วนตัว; จำนวนเต็มสาธารณะ getPid () {return pid;} โมฆะสาธารณะ setpid (integer pid) {this.pid = pid; ชื่อ;}}หมายเหตุ: ฟิลด์ชื่อถูกนำไปใช้ผ่านการเชื่อมโยงส่วนประกอบ (MyName Class)
<? xml เวอร์ชัน = "1.0"?> <! Doctype hibernate-mapping สาธารณะ "-// hibernate/hibernate mapping dtd 3.0 // en" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" table = "t_people"> <id name = "pid"> <generator/generator // id> <!-การแมปคีย์หลักผ่านส่วนประกอบ-> <component name = "name"> <property name = "FirstName"/> <property name = "LastName"
หมายเหตุ: การเชื่อมโยงส่วนประกอบถูกแมปผ่านแท็ก <Poment>
โมฆะสาธารณะ testsave1 () {/*กำหนดเซสชันและสิ่งต่าง ๆ*/เซสชันเซสชัน = null; ธุรกรรมการทำธุรกรรม = null; ลอง {/*รับเซสชันและเปิดใช้งานสิ่งต่าง ๆ*/เซสชัน = hibernateutils.getSession (); ธุรกรรม = เซสชัน myname (); myname.setfirstname ("George"); myname.setLastName ("Washington");/*สร้างบุคคลและตั้งค่าคุณสมบัติ*/คน = คนใหม่ (); people.setName (myName); session.save (คน);/*ส่งสิ่งต่าง ๆ*/transaction.commit ();} catch (ข้อยกเว้น e) {e.printstacktrace (); transaction.rollback ();} ในที่สุดข้างต้นเป็นคำอธิบายโดยละเอียดทั้งหมดของรหัสการแมปองค์ประกอบไฮเบอร์เนตในบทความนี้ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน เพื่อนที่สนใจสามารถอ้างถึงหัวข้ออื่น ๆ ที่เกี่ยวข้องในเว็บไซต์นี้ต่อไป หากมีข้อบกพร่องใด ๆ โปรดฝากข้อความไว้เพื่อชี้ให้เห็น ขอบคุณเพื่อนที่ให้การสนับสนุนเว็บไซต์นี้!