คำถามและคำตอบสัมภาษณ์จำศีล 50 อันดับแรก [สำหรับผู้เริ่มต้นและผู้มีประสบการณ์]

เผยแพร่แล้ว: 2020-12-15

สารบัญ

บทนำ

ไฮเบอร์เนตเป็นเทคนิคโอเพนซอร์ซที่มีน้ำหนักเบาใน Java ในบล็อกนี้ เราจะเข้าใจกระบวนการและกลไกเกี่ยวกับไฮเบอร์เนตด้วยคำถามสัมภาษณ์ “50 ไฮเบอร์เนต” อันดับต้น ๆ พร้อมคำตอบ

ไฮเบอร์เนตคืออะไร?

ไฮเบอร์เนตเป็นเครื่องมือที่มีน้ำหนักเบาในการทำแผนที่เชิงวัตถุโอเพนซอร์ส มีกรอบงานเพื่อจับคู่โมเดลโดเมนเชิงวัตถุกับฐานข้อมูลเชิงสัมพันธ์สำหรับแอปพลิเคชันบนเว็บ

ต่อไปนี้คือคำถามสองสามข้อที่เราควรถามเกี่ยวกับข้อกำหนดของแอปพลิเคชันก่อนที่เราจะปรับโหมดไฮเบอร์เนต:

  1. โมเดลข้อมูลใดที่เราสามารถใช้ได้สำหรับการพัฒนาโครงการใหม่ การออกแบบแอปพลิเคชัน หรือโมเดลข้อมูล
  2. ระดับของประสิทธิภาพแคชคืออะไร?
  3. เราจะกำหนดการเขียนแบบง่ายหรือซับซ้อนได้อย่างไร
  4. ความสามารถในการปรับขนาดคืออะไร และเราสามารถใช้ในสถานการณ์ใดได้บ้าง
  5. การกำหนดเวอร์ชันฐานข้อมูลอัตโนมัติมีความสำคัญในสถานการณ์ใด
  6. เราต้องการความคงอยู่เชิงสัมพันธ์สำหรับ JAVA หรือไม่
  7. อะไรคือการใช้ Support for Query Language และสถานการณ์ใดที่เราสามารถใช้ได้?
  8. กระบวนการคงอยู่อย่างโปร่งใสและผลกระทบต่อโครงการมีอะไรบ้าง

เครื่องมือ ORM

โดยจะตีความการสร้างข้อมูล การจัดการข้อมูล และการเข้าถึงข้อมูล เป็นวิธีการเขียนโปรแกรมที่จับคู่วัตถุกับข้อมูลที่จัดเก็บไว้ในฐานข้อมูล

กรอบการไฮเบอร์เนตคืออะไร?

ไฮเบอร์เนตเป็นโซลูชันการทำแผนที่เครื่องมือ ORM ที่ใช้ Java เชิงวัตถุ เป็นการแมปเชิงวัตถุที่เป็นขั้นตอนการเขียนโปรแกรมเพื่อจับคู่วัตถุแบบจำลองโดเมนแอปพลิเคชันกับตารางฐานข้อมูลเชิงสัมพันธ์ มันนำแหล่งที่มาของการใช้งาน Java Persistence API มาใช้ซึ่งมอบทางเลือกที่ยอดเยี่ยมในฐานะเครื่องมือ ORM ที่มีข้อดีของการมีเพศสัมพันธ์แบบหลวม ๆ

ประโยชน์ของ Hibernate Framework

  1. น้ำหนักเบาพร้อมประสิทธิภาพที่รวดเร็ว: ประสิทธิภาพของเฟรมเวิร์กไฮเบอร์เนตนั้นคล่องตัวด้วยความช่วยเหลือของแคช ซึ่งทำงานภายในในเฟรมเวิร์กไฮเบอร์เนต แคชในเฟรมเวิร์กไฮเบอร์เนตคือแคชระดับแรกและแคชระดับที่สอง
  2. ฐานข้อมูล Autonomous Query: HQL (Hibernate Query Language) เป็นตัวแปรเชิงวัตถุของ SQL มันสร้างแบบสอบถามฐานข้อมูลอิสระโดยไม่ต้องเขียนแบบสอบถามเฉพาะฐานข้อมูล
  3. การสร้างตารางอัตโนมัติ: กรอบงานไฮเบอร์เนตให้ความสามารถในการสร้างตารางของฐานข้อมูลโดยอัตโนมัติ โดยไม่ต้องสร้างตารางในฐานข้อมูลด้วยตนเอง
  4. ลดความซับซ้อนของการรวมที่ซับซ้อน: การดึงข้อมูลจากตารางรวมเป็นเรื่องง่ายในเฟรมเวิร์กไฮเบอร์เนต
  5. รองรับสถิติการสืบค้นและสถานะฐานข้อมูล: ไฮเบอร์เนตรักษาแคชการสืบค้นและให้ผลลัพธ์ทางสถิติที่รวดเร็ว

สถาปัตยกรรมไฮเบอร์เนต

สถาปัตยกรรมไฮเบอร์เนตรวมอ็อบเจ็กต์จำนวนมาก เช่น อ็อบเจ็กต์ถาวร โรงงานเซสชัน โรงงานธุรกรรม โรงงานการเชื่อมต่อ เซสชัน ธุรกรรม

สถาปัตยกรรมไฮเบอร์เนตแบ่งออกเป็นสี่ชั้น:

  • ระดับแอปพลิเคชัน Java
  • ระดับเฟรมเวิร์กไฮเบอร์เนต
  • ระดับ API แบ็คแฮนด์
  • ระดับฐานข้อมูล

ทำไมเราควรเลือกกระบวนการไฮเบอร์เนต?

ต่อไปนี้เป็นเทคนิคและกระบวนการที่เราสามารถเลือกได้เมื่อเราเริ่มการปรับกระบวนการ:

  • ไฮเบอร์เนตช่วยให้นักพัฒนาสามารถกำหนดฟิลด์ประเภทเวอร์ชันใน แอปพลิเคชัน ซึ่งสามารถแก้ไขได้ในข้อมูลแบบเรียลไทม์ คุณลักษณะนี้มอบให้แก่ผู้ใช้ พวกเขาสามารถบันทึกข้อมูลและแก้ไขได้ในเวลาเดียวกัน
  • ไฮเบอร์เนตใช้ความช่วยเหลือกับคำอธิบายประกอบ JPA สำหรับตัวอย่าง: @Entity, @Table, @Col เป็นต้น
  • ในการไฮเบอร์เนต การรวมการเชื่อมต่อเป็นเทคนิคในการเชื่อมต่อฐานข้อมูล เมื่อเราสร้างและจัดเก็บในแคชโดยเครื่องมือภายนอก การเชื่อมต่อเหล่านี้เราสามารถนำกลับมาใช้ใหม่จากแคชเองได้ในอนาคต หากเราจำเป็นต้องใช้ซ้ำเพื่อเชื่อมต่อกับฐานข้อมูลเดียวกันใน แอปพลิเคชันของเราที่เราสร้างขึ้น
  • ไฮเบอร์เนตขยายขอบเขตความสามารถในการปรับขนาดได้ดีที่สุดในทุกสภาพแวดล้อม สามารถฝึกฝนได้สำหรับโครงการทุกขนาด ตั้งแต่แอปขนาดเล็กไปจนถึงแอปที่คนนับล้านใช้
  • ในโหมดไฮเบอร์เนต การกำหนดเวอร์ชันของฐานข้อมูลเป็นเครื่องมือสำคัญที่สนับสนุนการป้องกันการเปลี่ยนแปลงที่ย้อนกลับโดยผู้ใช้รายอื่นโดยไม่ได้ตั้งใจ อนุญาตให้บันทึกประเภทเวอร์ชันภายในแอปพลิเคชัน เมื่อมีการอัปเดตหรือจัดเก็บข้อมูล ประเภทเวอร์ชันและการประทับเวลา เรายังสามารถบันทึกเพื่อติดตามได้อีกด้วย
  • ไฮเบอร์เนตใช้การคงอยู่แบบโปร่งใส และนักพัฒนาไม่จำเป็นต้องเขียนโค้ดอย่างชัดเจนเพื่อแมปทูเพิลของตารางฐานข้อมูลกับออบเจกต์ของแอปพลิเคชันในระหว่างการโต้ตอบกับ RDBMS
  • ในโหมดไฮเบอร์เนต การจัดการทรานแซกชันคือวิธีการทำชุดคำสั่งหรือคำสั่งให้สำเร็จ ในโหมดไฮเบอร์เนต การจัดการธุรกรรมจะทำโดยอินเทอร์เฟซธุรกรรม

ห้าเหตุผลที่ควรพิจารณาไฮเบอร์เนตเหนือ JDBC

  1. มันแก้ปัญหาไม่ตรงกันที่ซับซ้อนเชิงวัตถุเชิงซ้อน:

เป็นโซลูชันที่รวดเร็วในภาษาการเขียนโปรแกรมเชิงวัตถุพร้อมฐานข้อมูลเชิงสัมพันธ์

ตัวอย่าง: ความคลาดเคลื่อนในประเภทข้อมูล ความแตกต่างของโครงสร้างและความสมบูรณ์ ข้อยกเว้นด้านการจัดการและธุรกรรมล้วนเป็นสาเหตุให้เกิดความไม่ตรงกันที่ซับซ้อนเชิงวัตถุเชิงสัมพันธ์

2. การทำแผนที่วัตถุอัตโนมัติ:

JDBC และ Hibernate รองรับการทำแผนที่วัตถุอัตโนมัติ” ความคงอยู่โปร่งใส "วิธีนี้ให้ไฮเบอร์เนตเพื่อร่างตารางฐานข้อมูลไปยังออบเจกต์ของแอปพลิเคชันผ่านการโต้ตอบ

  1. ภาษาแบบสอบถามไฮเบอร์เนต (HQL)

ไฮเบอร์เนตจะรักษา Structured Query Language (SQL) JDBC รองรับเฉพาะ SQL, Hibernate Query Language (HQL) เกี่ยวข้องกับ SQL เนื่องจากเป็นภาษาคิวรีเชิงวัตถุ ในการเชื่อมต่อวิธีนี้ HQL จะตีความคิวรีไปยังคิวรี SQL ที่สามารถเปิดใช้การดำเนินการในฐานข้อมูลได้

  1. ความเป็นอิสระของฐานข้อมูล

ไฮเบอร์เนตจัดเตรียมการแมปการเชื่อมต่อตารางข้อมูลและแอปพลิเคชันผ่านไฟล์ XML; มันมีวิธีที่ดีกว่าในการถ่ายโอนข้อมูลไปยังฐานข้อมูลใหม่หากจำเป็น ในขณะที่ลักษณะการเข้าถึงฐานข้อมูล ข้อมูลเป็นสิ่งที่จำเป็น ถ้าในกรณีของการนำกลับมาใช้ใหม่ได้ การแคชเป็นองค์ประกอบที่จำเป็นสำหรับประสิทธิภาพของฐานข้อมูล ซึ่งช่วยลดเวลาและสนับสนุนแอปพลิเคชันในแบบเรียลไทม์

  1. การรวมการเชื่อมต่อในไฮเบอร์เนต:

ไฮเบอร์เนตสามารถบรรลุประสิทธิภาพที่เชื่อถือได้มากขึ้น มันมี "การรวมการเชื่อมต่อ"; นี่เป็นกระบวนการในการรวบรวมการเชื่อมต่อฐานข้อมูลในแคช การเชื่อมต่อเหล่านี้สามารถนำกลับมาใช้ใหม่ได้จากแคชเอง หากแอปพยายามเชื่อมต่อกับฐานข้อมูลที่เหมือนกันหลายครั้ง

คำถามและคำตอบ สัมภาษณ์ จำศีล

คำถาม: 1 คุณกำหนดค่าไฮเบอร์เนตให้เขียนคำสั่ง SQL ที่ดำเนินการและใช้พารามิเตอร์ผูกกับไฟล์บันทึกอย่างไร

คำตอบ: นี่คือขั้นตอนด้านล่าง:

สร้างส่วนบันทึกที่แตกต่างกันสองส่วนและระดับบันทึกเพื่อบันทึกคำสั่ง SQL ที่ดำเนินการและผูกพารามิเตอร์:

  • หมวด หมู่ org.hibernate.SQL
  • หมวดหมู่ org.hibernate.type.descriptor.sql พร้อมบันทึกระดับ TRACE

คำถาม:2 อธิบายคุณลักษณะที่คุณชื่นชอบของเฟรมเวิร์กไฮเบอร์เนต

คำตอบ: เครื่องมือ ORM ไฮเบอร์เนตให้ภาษาแบบสอบถามที่มีประสิทธิภาพ (HQL)

คำถาม:3 คุณจะแยกความแตกต่างระหว่าง Entity Beans และ Hibernate ได้อย่างไร

คำตอบ: ถั่วเอนทิตี คือคอนเทนเนอร์ คลาส ตัวอธิบาย ไฮเบอร์เนต เป็นเครื่องมือที่จะคงโครงสร้างอ็อบเจ็กต์ไว้กับคลาสในทันที

คำถาม:4 อธิบายกระบวนการของออบเจกต์ Session และวิธีที่เราสามารถใช้ในแคชระดับแรกและแคชระดับที่สอง

คำตอบ: การแคชระดับแรก : เริ่มต้นด้วยแต่ละ เซสชัน โดยมี อ็อบเจ็กต์ " เซสชัน "

การแคชระดับที่สอง: สามารถแชร์ได้ มากกว่า หลาย เซสชัน

คำถาม:5 การสืบทอดทำงานอย่างไรในโหมดไฮเบอร์เนต กลยุทธ์ต่างๆ ที่สามารถนำมาใช้ได้มีอะไรบ้าง?

คำตอบ: มรดกสามประเภท:

  1. ตารางต่อลำดับชั้น
  2. ตารางต่อชั้นคอนกรีต
  3. ตารางต่อคลาสย่อย

คำถาม:6 การล็อกทำงานอย่างไรในโหมดไฮเบอร์เนต มีกลไกการล็อคแบบต่างๆ อะไรบ้าง?

คำตอบ: กลไกการล็อคมองโลกในแง่ดีและมองโลกในแง่ คำถาม:7 การจัดการธุรกรรมทำงานอย่างไรในโหมดไฮเบอร์เนต

คำตอบ: ใช้งานได้ด้วยความช่วยเหลือของ (JTA, JDBC)

คำถาม:8 ขี้เกียจโหลดในโหมดไฮเบอร์เนตคืออะไร?

คำตอบ: กลไกนี้ในเอนทิตีและการเชื่อมโยงโดยใช้พร็อกซีของคลาส

คำถาม:9 กลยุทธ์การดึงข้อมูลต่างๆ ที่มีอยู่ในโหมดไฮเบอร์เนตมีอะไรบ้าง

คำตอบ: เข้าร่วมการดึงข้อมูลและเลือกการดึงข้อมูล

คำถาม:10 กลยุทธ์การดึงข้อมูลต่างๆ ที่มีอยู่ในโหมดไฮเบอร์เนตมีอะไรบ้าง

คำตอบ: Join-Fetching และ Select Fetchings เป็นการดึงข้อมูลที่มีอยู่ใน Hibernate

คำถาม:11 วิธีรับ () และโหลด () ในโหมดไฮเบอร์เนตต่างกันอย่างไร

คำตอบ : getting() และ load() ซึ่งใช้สำหรับดึงข้อมูลสำหรับตัวระบุที่กำหนด Get() method return null,load() method แสดงข้อผิดพลาดของวัตถุที่ไม่พบประเภทของข้อยกเว้น

คำถาม:12 เหตุใดคุณจึงไม่ควรทำให้คลาสเอนทิตีเป็นขั้นสุดท้าย

คำตอบ: ใช้สำหรับ ผูก เอนทิตี

คำถาม:13 อธิบายข้อดีและข้อเสียของวัตถุที่แยกออกมา

คำตอบ: มันเชื่อมต่อกับเซสชันไฮเบอร์เนตในอดีต มันมีคำอธิบายในฐานข้อมูล

คำถาม:14 ภาษาคิวรีไฮเบอร์เนต (HQL) คืออะไร

คำตอบ: ขึ้นอยู่กับแนวคิด OOPS

คำถาม:15 ระบุบทบาทของอินเทอร์เฟซ SessionFactory ในโหมดไฮเบอร์เนต

คำตอบ: เป็นกระบวนการของ thread-safe object และสามารถใช้ในกระบวนการของเธรดแอปพลิเคชันได้

คำถาม:16 ประโยชน์ของการไฮเบอร์เนตเหนือ JDBC คืออะไร

คำตอบ: ให้ประสิทธิภาพและความสามารถในการขยายที่รวดเร็วที่สุด

คำถาม:17 อธิบายฐานข้อมูลบางส่วนที่ดูแลโดย Hibernate

คำตอบ: ฐานข้อมูลเชิงสัมพันธ์โดยใช้ JDBC

คำถาม:18 คุณจะแยกความแตกต่างของวิธี session.save() และ session.persist() ได้อย่างไร

คำตอบ: Session.save() ใช้สำหรับบันทึกวัตถุในฐานข้อมูลและ session.persist() สำหรับวัตถุชั่วคราวและถาวร

คำถาม:19 อธิบายเกี่ยวกับวิธีการอัพเดตและการรวม?

คำตอบ: สามารถใช้ในการแปลงวัตถุที่อยู่ในสถานะแยกออกได้

คำถาม:20 เป็นไปได้ไหมที่จะทำแผนที่คอลเลกชันด้วยตัวต่อตัวและตัวต่อตัว

คำตอบ: สามารถใช้ในตารางที่มี การ แมป กับหลายแถวในอีกตารางหนึ่ง

คำถาม:21 จะทำธุรกรรมในโหมดไฮเบอร์เนตได้อย่างไร?

คำตอบ: ด้วยความช่วยเหลือของการประกาศคลาส @transctional เราสามารถทำธุรกรรมได้

คำถาม:22 การแมปวัตถุ/การแมปเชิงสัมพันธ์แสดงอยู่ที่ไหนในไฮเบอร์เนต

คำตอบ: Hibernate ORM เป็นอ็อบเจ็กต์/การแมปเชิงสัมพันธ์

คำถาม:23 คุณคิดอย่างไรกับ Light Object

คำตอบ: Session, Query, Criteria, Transaction เป็นแนวคิดของ Light Object

คำถาม:24 @Transient ใน Hibernate คืออะไร ข้อดีของสิ่งนี้คืออะไร?

คำตอบ: @ Transient ใช้ใน javax ซึ่งเป็นแพ็คเกจการคงอยู่

คำถาม:25 จะรวม Struts Spring Hibernate ได้อย่างไร?

คำตอบ: ด้วยความช่วยเหลือของ ContextLoaderPlugIn เราสามารถรวมกันได้

คำถาม: 26 อธิบายเกี่ยวกับการบันทึก Hibernate Log4j

คำตอบ: ประกอบด้วยไฟล์ By log4j.xml และไฟล์ log4j.properties

คำถาม: 27 เราจะจำกัดการอัปเดตพร้อมกันในไฮเบอร์เนตได้อย่างไร

คำตอบ: ด้วยความช่วยเหลือของกระบวนการล็อกในแง่ร้าย เราสามารถจำกัดการอัปเดตพร้อมกันได้

คำถาม: 28 วิธีใดดีที่สุดในการพิจารณาคลาสถาวรของ Hibernate?

คำตอบ: มีวิธีการที่ดีที่สุดและแนวทางปฏิบัติที่ดีที่สุดมากมายที่เราสามารถใช้กับคลาสถาวรของการทำแผนที่และกลไกของคลาสได้

คำถาม 29 แนวคิดของการปรับเปลี่ยนวัตถุถาวรคืออะไร?

ตอบ: วัตถุถาวร จะถูกติดตามโดยการ จำศีล และถูกเก็บไว้ในฐานข้อมูลเมื่อมีคำขอกระทำ

คำถาม: 30 ความสัมพันธ์แบบหนึ่งต่อหลายทิศทางในโหมดไฮเบอร์เนตคืออะไร?

คำตอบ: มันคือการอ้างอิงของหมายเลขอ้างอิงของแอตทริบิวต์ความสัมพันธ์ของมุมมองต่างๆ ที่เป็นประโยชน์ของแอตทริบิวต์ mappedBy ซึ่งไฮเบอร์เนตมีความรู้ที่จำเป็นทั้งหมด ด้วยกระบวนการเหล่านี้ เราจำเป็นต้องกำหนดความสัมพันธ์แบบกลุ่มต่อหนึ่งแบบสองทิศทาง

อ่าน: ทักษะในการเป็นนักพัฒนาเต็มรูปแบบ

คำถาม: การแทนที่ค่าใน Message Resource Bundle คืออะไร?

คำตอบ: ResourceBundleMessageInterpolator ของ Hibernate Validator สร้าง ResourceBundleLocator สองอินสแตนซ์ หนึ่งรายการสำหรับการตรวจสอบความถูกต้อง ของ UserDefined ข้อความตรวจสอบมาตรฐาน – defaultResourceBundleLocator

คำถาม 32 อธิบายขั้นตอนการดำเนินการคำสั่ง SQL

คำตอบ: เป็นแคชระดับที่สองในลำดับเฉพาะเนื่องจากข้อ จำกัด ของคีย์ต่างประเทศไม่สามารถทำลายได้: การแทรก, การอัปเดต, การลบองค์ประกอบอาร์เรย์, การแทรกองค์ประกอบอาร์เรย์, การลบ, ในทิศทางที่นำเสนอ

คำถาม: 33 คุณจะตั้งค่าแคชระดับที่ 2 ใน Hibernate ด้วย EHCache ได้อย่างไร

คำตอบ: Terracotta Ehcache เป็นแคชสมัยใหม่ที่ทำงานเป็น แคชระดับที่สอง ของ Hibernate สามารถใช้เป็น แคชระดับที่สอง แบบ สแตนด์อโลน

คำถาม: 34 อะไรคือความแปรปรวนหลักระหว่าง Entity Beans และ Hibernate?

คำตอบ: เอนทิตีบีน ยังคงถูกดำเนินการโดย descriptors, containers, class. ไฮเบอร์เนต เป็นเพียงกลไกที่ทนทานต่อโครงสร้างอ็อบเจ็กต์กับลำดับชั้นของคลาสในฐานข้อมูลทันที

คำถาม: 35 อธิบายขั้นตอนในการเข้าร่วมที่จัดการโดยใช้ไฮเบอร์เนต?

คำตอบ: ด้วยความช่วยเหลือของ SQL Join เราสามารถจัดการได้

คำถาม 36 อธิบายกระบวนการไฮเบอร์เนตพร็อกซี่?

คำตอบ: ไฮเบอร์เนตพร็อกซี่ นี่หมายถึง ไฮเบอร์เนต เมื่อเราเรียกเซสชัน โหลด().

คำถาม: 37 อะไรคือข้อได้เปรียบหลักของการใช้ Hibernate มากกว่าการใช้ SQL?

คำตอบ: ด้วยแนวปฏิบัติของ ORM และด้วยการใช้ Hibernate ดังนั้นการใช้ SQL จะทำให้ Hibernate หลีกเลี่ยงการเขียนข้อความค้นหาขนาดใหญ่

คำถาม: 38 อธิบายรูปแบบการออกแบบที่เราสามารถใช้ในโหมดไฮเบอร์เนตได้หรือไม่?

คำตอบ : Proxy pattern, Domain model และ object model เป็นรูปแบบการออกแบบ

อ่านเพิ่มเติม: อาชีพในการพัฒนาเต็มกอง

คำถาม: 39 อธิบายสถาปัตยกรรมของไฮเบอร์เนต

คำตอบ: ไฮเบอร์เนตมีสถาปัตยกรรมแบบเลเยอร์ซึ่งอำนวยความสะดวกให้ผู้ใช้จัดการโดยไม่ต้องเข้าใจ API พื้นฐาน

คำถาม: 40 ระบุประเภทข้อมูลที่รองรับในการไฮเบอร์เนตหรือไม่

คำตอบ: IntegerType,FloatType,DoubleType,CharacterType,ShortType.

คำถาม: 41 (JDO, CMP) คืออะไร?

คำตอบ: เทคโนโลยีการคงอยู่ของ Java

คำถาม: 42 อะไรคือความแปรปรวนหลักระหว่างสปริงและไฮเบอร์เนต?

คำตอบ: Spring และ Hibernate เป็นเฟรมเวิร์กสองเฟรมที่แยกจากกัน สปริง ทำสัญญากับการขยายกระแสของแอปพลิเคชัน ไฮเบอร์เนต เป็นเรื่องเกี่ยวกับปฏิสัมพันธ์ระหว่างแอปพลิเคชันและฐานข้อมูล

คำถาม: 43 เราจะพบโซลูชัน ORM ในโหมดไฮเบอร์เนตได้เมื่อใด

คำตอบ: ไฮเบอร์เนตเป็นแนวคิดของโซลูชัน Object/Relational Mapping (ORM) สำหรับ Java; คำว่า การทำแผนที่วัตถุ/เชิงสัมพันธ์ เกี่ยวข้องกับขั้นตอนของข้อมูลการแมประหว่างคำอธิบายแบบจำลองวัตถุกับคำอธิบายแบบจำลองข้อมูลเชิงสัมพันธ์

คำถาม:44 กล่าวถึงกระบวนการทีละขั้นตอนเพื่อทำธุรกรรมให้เสร็จสิ้นในโหมดไฮเบอร์เนต

คำตอบ: ด้วยความช่วยเหลือของคุณสมบัติ ACID-> (Atomicity, Consistency, Isolation และ Durability)

คำถาม:45 การแมปในโหมดไฮเบอร์เนตอยู่ที่ไหน

คำตอบ: การแมปไฮเบอร์เนตเป็นคุณสมบัติของไฮเบอร์เนต พวกเขาจัดระเบียบการเชื่อมต่อระหว่างตารางฐานข้อมูลสองตารางในขณะที่แอตทริบิวต์ในแบบจำลองของคุณ ที่ช่วยให้คุณขับเคลื่อนการเชื่อมโยงในแบบสอบถามแบบจำลองและมาตรฐานของคุณได้อย่างรวดเร็ว

คำถาม:46 คุณสามารถสัมผัสถึงความสัมพันธ์ประเภทต่างๆ ที่เป็นไปได้ในการแมปไฮเบอร์เนตได้หรือไม่

คำตอบ: ตัวต่อตัว ตัวต่อตัว ตัวต่อตัว ตัวต่อตัว ตัวต่อตัว

คำถาม:47 เราจะกำหนดอ็อบเจ็กต์แมปในไฮเบอร์เนตได้ที่ไหน

คำตอบ: การแปลง ออบเจก ต์ Java เป็นคำสั่ง SQL เพื่อจัดเก็บข้อมูล

คำถาม:48 คุณสามารถระบุประเภทคอลเลกชันจำนวนมากในโหมดไฮเบอร์เนตได้หรือไม่?

คำตอบ: HashMap, HashSet, TreeSet และ Arraylist เป็นประเภทคอลเลกชันใน Hibernate

คำถาม:49 กระบวนการดึงข้อมูลจากฐานข้อมูลในโหมดไฮเบอร์เนตมีขั้นตอนอย่างไร

คำตอบ: ด้วยความช่วยเหลือของเกณฑ์ไฮเบอร์เนตโดยใช้ฟังก์ชัน beginTransaction() API กับเซสชัน เราสามารถดึงข้อมูลได้

คำถาม:50 อธิบายเกี่ยวกับไฟล์การแมปไฮเบอร์เนตโดยใช้คำอธิบายประกอบ JPA @NamedQuery และ @NamedNativeQuery

คำตอบ: @NamedQuery และ @NamedNativeQuery เป็นประเภทของคิวรี HQL ซึ่งจัดการความซับซ้อนของการแปลง HQL เป็นภาษา SQL จำนวนมาก

ลงทะเบียนเรียน หลักสูตรวิศวกรรมซอฟต์แวร์ จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว

บทสรุป

เราหวังว่าบทความนี้จะช่วยให้คุณเข้าใจคำถาม “สัมภาษณ์” 50 อันดับแรกของไฮเบอร์เนตสำหรับผู้เริ่มต้นและมืออาชีพ

หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับการพัฒนาซอฟต์แวร์แบบฟูลสแตก โปรดดูโปรแกรม Executive PG ของ upGrad & IIIT-B ในการพัฒนาซอฟต์แวร์แบบฟูลสแตก ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 500 ชั่วโมง โครงการมากกว่า 9 โครงการ และการมอบหมายงาน สถานะศิษย์เก่า IIIT-B โครงการหลักและความช่วยเหลือด้านงานกับบริษัทชั้นนำ

ลงจอดบนงานในฝันของคุณ

สมัครเลยตอนนี้สำหรับปริญญาโทด้านวิศวกรรมซอฟต์แวร์