Monthly Archives: มิถุนายน 2016

How to map a Native query result set to a Entity class

Problem : method getResultList(); รีเทิรน์ข้อมูลเป็น column index ทำให้เราต้องมาเขียนแมฟเข้า POJO เอง โดยเลือกโดยใช้ index เช่น cols[0].toString() ถ้าเกิดลำดับโครงสร้าง database เปลี่ยน จะเกิดปัญหาทันที Goal : เราต้องการให้ค่าที่ออกจาก database รีเทิรน์เป็นทั้งชื่อ column และ value ออกไปเลย ใช้ @SqlResultSetMapping โดย Class ที่ใช้แมฟต้องเป็น @Entity ไม่สามารถแมฟเข้า POJO ธรรมดา เพราะว่าต้องติดต่อกับ database และในนี้ใช้ @ConstructorResult … Continue reading

Posted in java, spring boot | Tagged | Leave a comment

Error handle with @ControllerAdvice

import java.util.HashMap; import java.util.Map; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseStatus; import org.apache.log4j.Logger; @ControllerAdvice public class CustomException { final static Logger logger = Logger.getLogger(CustomException.class); @ResponseBody @ResponseStatus(HttpStatus.BAD_REQUEST) @ExceptionHandler(Exception.class) public Map handler(Exception ex){ Map map = new HashMap<>(); Map … Continue reading

Posted in java, spring boot | Leave a comment