Category Archives: spring boot

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

JPA Generated Id MySQL Oracle ย้าย Database ได้โดยไม่ต้องแก้ Code

หลายคนน่าจะเคยเจอปัญหา ทำอย่างไรให้ Code ชุดเดียว สามารถย้าย Database ได้โดยไม่ต้องแก้ Code โดยปกติ MySQL จะใช้ auto increment และ Oracle จะใช้ sequence เราจะใช้ Hibernate UUIDGenarator แทนการ auto increment และ sequence genarator โดยในฟิล Id ถ้าใน MySQL เราไม่ต้องติ๊ก au increment ถ้าเป็น Oracle เราไม่ต้องสร้าง Sequence แต่ละ Database จะต้องมี … Continue reading

Posted in spring boot | Leave a comment