Category Archives: spring boot

getInputStream () has already been called for this request แก้ยังไง

เมื่อจำเป็นต้องใช้คำสั่งนี้จาก Class HttpServletRequest เพื่อหาค่า requestBody เช่น getReader , getInputStream และพบ error java.lang.IllegalStateException: getReader() has already been called for this request java.lang.IllegalStateException: getInputStream () has already been called for this request จะแก้อย่างไร ให้เราสร้าง Filter สำหรับทำ CachingRequestBodyFilter @Component public class CachingRequestBodyFilter extends … Continue reading

Posted in java, spring boot | Leave a comment

spring boot direct sql by entitymanager

ใครที่ใช้ Spring boot เชื่อมต่อ database ด้วย JPA เราจะคุ้นเคยกับคำสั่งของมันเช่น save() , findById(), findByField() แต่เมื่อไรที่ลักษณะงานของเรานั้น ต้องรับค่า input มาเป็น raw sql เราจะทำอย่างไร ใช้งานใน Spring (@Controller,@RestController,@Service,@Repository) import javax.persistence.EntityManager; import org.hibernate.SQLQuery; import org.hibernate.Session; @PersistenceContext private EntityManager entityManager; ….. Session session = entityManager.unwrap(org.hibernate.Session.class); String sql = … Continue reading

Posted in spring boot | Leave a comment

spring boot @SpringBootApplication,@EnableAutoConfiguration ใช้ทำอะไร

@SpringBootApplication public class Application {     public static void main(String[] args) {         SpringApplication.run(LoginApplication.class, args);     } } The Spring Boot documentation อธิบาย @SpringBootApplication ไว้ว่า The @SpringBootApplication annotation is equivalent to using @Configuration, @EnableAutoConfiguration and @ComponentScan with their … Continue reading

Posted in spring boot | Leave a comment

spring boot transactional force commit

บางครั้งถ้ามี Query หลายๆ Statement ต่อกัน อาจทำให้เกิดข้อผิดพลาด Constraint เช่นพวก Unique ได้ เพราะมันจะรอ commit พร้อมกัน เราจึงต้องย้ายบาง Statement ไปสร้างเป็น method ใหม่ และใส่ Annonation นี้ไว้บนหัว method เพื่อที่จะ force commit @Transactional(value = "transactionManager",propagation = Propagation.REQUIRES_NEW) https://stackoverflow.com/questions/24338150/how-to-manually-force-a-commit-in-a-transactional-method

Posted in jquery, spring boot | Leave a comment

spring custom response @JsonSerialize

POJO for response JsonPropertyOrder({ "name", … }) public class Student {     @JsonSerialize(using = EmptyStringSerializer.class)     @JsonProperty("name")     private String name;         … } Custom Serializer Class , You can modify this class public … Continue reading

Posted in spring boot | Leave a comment