Hibernate 3.2 มี Helper ดีๆที่ช่วย convert object[]
เป็น pojo หรือ java.util.Map แล้ว
เดิมเวลาที่เรา select partial column ใน hibernate
Object ที่ return กลับมาก็คือ Object[]
List list = s.createQuery(
"select e.student.name as studentName, " +
" e.course.desription as courseDescription " +
"from Enrollment as e")
.list();
Object[] row1 = (Object[]) list.get(0) // return => object[]
แต่ถ้ามี Transformer ช่วยเราสามารถเขียนแบบนี้ได้เลย
List list = s.createQuery(
"select e.student.name as studentName," +
" e.course.description as courseDescription" +
"from Enrolment as e")
.setResultTransformer( Transformers.aliasToBean(StudentDTO.class))
.list();
StudentDTO dto = (StudentDTO) list.get(0);
นอกจากใช้ได้กับ
createQuery
แล้ว ยังใช้ได้กับ createCriteria
และ
createSQLQuery
อีกด้วยสุดท้าย ก็คือสามารถแปลงเป็น Map object แทนที่จะเป็น bean
.setResultTransformer( Transformers.ALIAS_TO_MAP )
No comments:
Post a Comment