คำนวณข้อมูลในช่องต่างๆ ผ่าน Hibernate ใน JDBC คุณใช้ผลรวม SQL และวิธีการอื่นๆ เมื่อใช้ Hibernate คุณต้องใช้ออบเจ็กต์ Projections
ก่อนอื่น เรามาแนะนำ Projections กันก่อน:
org.hibernate.criterion.Projections เป็นโรงงานอินสแตนซ์ของการฉายภาพ เราใช้วัตถุ Projections เพื่อดำเนินการค้นหาโดยการเรียก setProjection()
มาเริ่มกันเลย:
จำเป็นต้องสร้างออบเจ็กต์ Criteria ด้วย ออบเจ็กต์นี้มีความสำคัญมาก ฟังก์ชันการสืบค้นส่วนใหญ่ใน Hibernate เกือบจะเสร็จสมบูรณ์แล้ว
รหัสจาวา
เกณฑ์เกณฑ์ = session.createCriteria(AccCasherDaySupply.class);
เกณฑ์เกณฑ์ = session.createCriteria(AccCasherDaySupply.class);
สร้างออบเจ็กต์ Criteria ผ่านเซสชัน และพารามิเตอร์คือชื่อคลาสของออบเจ็กต์ที่คุณต้องการสืบค้น (โปรดทราบว่าที่นี่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่)
สามารถใช้เมธอด setProjection ผ่านออบเจ็กต์ Criteria ซึ่งจะดำเนินการสอบถาม Projections
รหัสจาวา
เกณฑ์.setProjection(****);
เกณฑ์.setProjection(****);
ขั้นตอนต่อไปคือดำเนินการรวมจริงโดยใช้ออบเจ็กต์ Projections เพื่อแทรกลงในพารามิเตอร์ของ ****
ออบเจ็กต์ Projects มีวิธีการรวมส่วนใหญ่ โดยพื้นฐานแล้ว: rowCount(), avg(), max(), groupProperty(), alias(), property(), sum()...
ยกตัวอย่าง sum() หากคุณต้องการคำนวณผลรวมของข้อมูลบางฟิลด์ จะใช้วิธี sum() ดังนี้
รหัสจาวา
เกณฑ์.setProject(การฉายภาพ.sum("ชื่อฟิลด์"));
เกณฑ์.setProject(การฉายภาพ.sum("ชื่อฟิลด์"));
จากโค้ดข้างต้น เกณฑ์จะได้รับการรวมกันของชื่อฟิลด์ที่เกี่ยวข้อง
สุดท้าย ผลลัพธ์สุดท้ายของแบบสอบถาม Projections จะได้รับผ่านเกณฑ์.list()
บทความนี้มาจากบล็อก CSDN โปรดระบุแหล่งที่มาเมื่อพิมพ์ซ้ำ: http://blog.csdn.net/lyr1985/archive/2009/12/30/5105409.aspx
-