JavaRush /จาวาบล็อก /Random-TH /จำศีลเพื่อหุ่น บทวิจารณ์หนังสือ "Java Persistence API และ...
Джон Дориан
ระดับ

จำศีลเพื่อหุ่น บทวิจารณ์หนังสือ "Java Persistence API และ Hibernate"

เผยแพร่ในกลุ่ม
ไม่เป็นความลับเลยที่วรรณกรรมทางเทคนิคส่วนใหญ่ในโลกเขียนเป็นภาษาอังกฤษ และการพัฒนา Java ก็ไม่มีข้อยกเว้นที่นี่ - ส่วนสำคัญของเนื้อหาไม่มีในภาษารัสเซียเลยหรือแปลในลักษณะที่ควรเรียนรู้โดยใช้ Google แปลจะดีกว่า จะน่ายินดียิ่งขึ้นสำหรับชุมชน Java ที่พูดภาษารัสเซียทั้งหมดเมื่อหนังสือที่มีชื่อเสียงที่สุดในหัวข้อนี้ “Java Persistence API พร้อม Hibernate” ได้รับการแปลเป็นภาษารัสเซียเมื่อประมาณหกเดือนที่แล้ว
จำศีลเพื่อหุ่น  หนังสือทบทวน
หากคุณต้องการเป็น Java Developer วันหนึ่งคุณจะต้องเรียนรู้การใช้Hibernate แน่นอนว่ากฎใดๆ ก็มีข้อยกเว้น ทุกอย่างขึ้นอยู่กับโครงการเฉพาะ ฯลฯ แต่ถ้าคุณมองอาชีพของคุณในระยะยาว คุณจะเจอห้องสมุดแห่งนี้ในการทำงานจริงแน่นอน หนังสือที่นำเสนอในบทความสามารถเรียกได้ว่าเป็นหนังสือพื้นฐานโดยไม่ต้องพูดเกินจริง: เป็นแนวทางหลักในการไฮเบอร์เนตในบรรดาทุกสิ่งที่เขียนเกี่ยวกับเทคโนโลยีนี้ สิ่งนี้อธิบายได้ง่ายมาก เนื่องจากในบรรดาผู้เขียนคือผู้ก่อตั้งโครงการ Hibernate, Gavin King และ Christian Bauer ซึ่งเป็นสมาชิกของทีมพัฒนา Hibarnate สำหรับฉันเป็นการส่วนตัว สิ่งนี้ทำหน้าที่เป็นผู้รับประกันคุณภาพในทันที: ใครเก่งในการค้นหาเทคโนโลยีหากไม่ใช่ผู้สร้าง :) ในทางกลับกัน ผู้เชี่ยวชาญที่ดีหรือแม้แต่ผู้สร้าง a เทคโนโลยีสามารถเขียนหนังสือการศึกษาที่เข้าใจง่ายได้ ไม่ว่าใครจะพูดอะไร ทักษะส่วนบุคคลและความสามารถในการสอนแทบไม่มีความสัมพันธ์กันเลย ตัวอย่างคือ “ศิลปะแห่งการเขียนโปรแกรม” ในตำนานโดย Knuth หรือ “ภาษาการเขียนโปรแกรม C++” จากผู้สร้าง Bjarne Stroustrup และหากเป็นไปไม่ได้ที่จะปฏิเสธความรู้ระดับสูงสุดของผู้เขียน หนังสือของพวกเขาก็จะอ่านได้ยาก โชคดีที่ผู้สร้าง Hibernate และผู้แต่งหนังสือเล่มนี้ได้สร้างผลิตภัณฑ์ที่เข้าใจได้ง่ายจากมุมมองของโปรแกรมเมอร์มือใหม่ หนังสือเล่มนี้เหมาะสำหรับใคร: เช่นเดียวกับหนังสือที่คล้ายกันส่วนใหญ่ บทคัดย่อกล่าวว่าหนังสือเล่มนี้ “สำหรับทุกคน” รวมถึงผู้ที่เรียนรู้ไฮเบอร์เนตตั้งแต่เริ่มต้นด้วย ในความเป็นจริงก็ยังดีกว่าที่จะมีการเตรียมการเบื้องต้นในรูปแบบของเทคโนโลยีที่เกี่ยวข้อง ด้านล่างนี้คือรายการสิ่งที่จะทำให้ชีวิตของคุณง่ายขึ้นมากเมื่ออ่านหนังสือเล่มนี้
  1. หากคุณไม่ทราบว่าฐานข้อมูลเชิงสัมพันธ์คืออะไร คุณจะไม่สามารถสร้างตารางหรือเขียนแม้แต่แบบสอบถาม SELECT แบบธรรมดาได้ ฯลฯ - เริ่มจากสิ่งนี้ดีกว่า อย่างไรก็ตาม สิ่งนี้จะเป็นประโยชน์สำหรับผู้ที่วางแผนจะเข้าร่วมในการฝึกงาน JavaRush เริ่มต้นด้วย SQL ไฮเบอร์เนตในภายหลัง โชคดี ที่ Head-First ที่ยอดเยี่ยมเขียนด้วย SQL (สำหรับรสนิยมของฉัน ซึ่งเป็นหนึ่งใน HeadFirsts ที่ดีที่สุดในซีรีส์ทั้งหมด)

  2. เจดีบีซี . เทคโนโลยีนี้ยังห่างไกลจากสิ่งใหม่ แต่นักพัฒนาที่มีประสบการณ์จำนวนมากยังคงชอบที่จะไฮเบอร์เนต

  3. หลังจากนั้น คงจะดีถ้าได้อ่าน (อย่างน้อยก็อย่างผิวเผิน) ว่าORM คืออะไร และเหตุใดจึงจำเป็น ท้ายที่สุดแล้ว Hibernate ถือเป็น ORM อันดับแรกและสำคัญที่สุด นั่นคือสิ่งที่เปลี่ยนวัตถุ Java ให้เป็นบันทึกฐานข้อมูล (และในทางกลับกัน)

    ตัวอย่างเช่น คุณมีคลาส User คลาส Auto และผู้ใช้แต่ละคนมีรายการรถยนต์ List<Auto> autos

    จะบันทึกทั้งหมดนี้ลงในฐานข้อมูลได้อย่างไรเพื่อรักษาการเชื่อมต่อระหว่างผู้ใช้และเครื่องไว้ ท้ายที่สุดมีผู้ใช้เพียงคนเดียว แต่เขาสามารถมีได้หลายเครื่อง:/ เราจะลบเครื่องของผู้ใช้ทั้งหมดออกจากฐานข้อมูลโดยอัตโนมัติได้อย่างไรหากเราลบผู้ใช้เอง (นั่นคือ ห้ามมิให้ฐานข้อมูลจัดเก็บเครื่อง "กำพร้า")? ไฮเบอร์เนตเพิ่งรู้วิธี :)

  4. นอกจากนี้ Java ยังมีการใช้งานโมเดล ORM ของตัวเอง - Java Persistence APIหรือเพียงแค่ JPA มีการกล่าวถึงในหนังสือด้วย แต่ควรอ่านผ่านๆ ก่อนจะดีกว่า คุณไม่จำเป็นต้องอ่านวรรณกรรมมากมายในหัวข้อนี้ หากคุณรู้ว่า POJO, Entity คืออะไร และข้อกำหนดใดที่ใช้กับ Entity ก็จะค่อนข้างดี

  5. หากคุณไม่คุ้นเคยกับรูปแบบ XMLก็ถึงเวลาทำความคุ้นเคยกับรูปแบบนี้ก่อนที่จะอ่านหนังสือเล่มนี้ บ่อยครั้งที่ไฟล์กำหนดค่า Hibernate (รวมถึง Spring) ถูกเขียนในรูปแบบ XML และหากทำให้คุณกลัว หนังสือก็จะยากขึ้น

  6. หากคุณคุ้นเคยกับรูปแบบการออกแบบ (อย่างน้อยจากงาน JavaRush) คุณสามารถอ่านเกี่ยวกับรูปแบบ DAOและสาเหตุที่จำเป็นได้ DAO ใช้งานง่ายมากโดยใช้ Hibernate อย่างไรก็ตาม ผู้เข้าร่วมการฝึกงานจะสร้าง "daos" เมื่อเขียนงานทดสอบ (และในโครงการด้วย) และในการทำงานจริง การสร้างสิ่งเหล่านี้ถือเป็นงานประจำ ดังนั้นมันจะไม่ฟุ่มเฟือย

การทำความคุ้นเคยเบื้องต้นกับสิ่งที่กล่าวมาข้างต้นจะทำให้การศึกษาของคุณง่ายขึ้นอย่างมาก (และในการทำงานนี่คืออย่างที่พวกเขาพูดกันว่าต้องมี) โดยสรุป - IMHO เล็กน้อยเกี่ยวกับข้อดีและข้อเสียของหนังสือเล่มนี้ ข้อดี:
  • แปลจากภาษาอังกฤษได้ค่อนข้างดี ฉันไม่คิดว่ามันคุ้มค่าที่จะเขียนแยกกันเกี่ยวกับความสำคัญของประเด็นนี้ แน่นอนว่าต้นฉบับจะดีกว่าเสมอ และหากคุณรู้ภาษาอังกฤษในระดับที่เพียงพอก็ควรอ่านจะดีกว่า อย่างไรก็ตามสำหรับผู้ที่ยังไม่คุ้นเคยกับภาษาอังกฤษแต่ไม่อยากหยุดเรียนด้วยเหตุนี้นี่จึงเป็นทางเลือกที่ดีเยี่ยม

  • ครอบคลุมหัวข้อกว้างมาก มีการอธิบาย "ภายใน" เกือบทั้งหมดของห้องสมุด เกี่ยวกับบางสิ่งที่มีรายละเอียดมาก เกี่ยวกับบางสิ่งที่ประหยัดกว่า แต่โดยรวมแล้วความครอบคลุมถือว่าค่อนข้างดี

  • ภาษาที่เรียบง่ายและเข้าใจได้

ข้อเสียฉันสามารถเน้นเฉพาะตัวอย่างเท่านั้น ในความคิดของฉัน มันอาจจะเรียบง่ายและกระชับกว่านี้ก็ได้ และเมื่อพิจารณาถึงข้อมูลใหม่ๆ มากมายที่ตกอยู่กับผู้อ่าน อาจเป็นเรื่องยากสำหรับผู้เริ่มต้นที่จะรวบรวมและทำให้ทุกอย่างใช้งานได้ ไม่ต้องพูดถึงการทำความเข้าใจสิ่งที่เกิดขึ้นในโค้ด ฉันขอแนะนำเป็นการส่วนตัวว่าคุณไม่ต้องกังวลกับการโคลนตัวอย่างจาก GitHub แล้วพิมพ์ด้วยตัวเอง และคุณจะเข้าใจและความเข้าใจของคุณจะดีขึ้นมาก ยังดีกว่าหลังจากอ่านบทถัดไปแล้ว ให้คิดและลงมือทำงานบางอย่างด้วยตัวเอง สิ่งนี้จะมีประสิทธิผลมากขึ้นแม้ว่างานจะง่ายมากก็ตาม คุ้มไหมที่จะซื้อหนังสือ? ใช่แน่นอน ยิ่งไปกว่านั้น กระดาษมียอดจำหน่ายเพียง 200 เล่มเท่านั้น :) จากเนื้อหาในหนังสือเล่มนี้ ฉันจึงเขียนบทความ แรก เกี่ยวกับ Habrahabr ได้อย่างง่ายดาย และในความคิดของฉันฝ่ายบริหาร JavaRush ควรเพิ่มเข้าไปในรายการรางวัลสำหรับการแข่งขันอย่างแน่นอน :) ขอบคุณสำหรับความสนใจของคุณและขอให้โชคดีในการศึกษาของคุณ!
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION