# พื้นฐาน Spring Data JPA (Spring Boot) > Spring Data JPA, JpaRepository, EntityManager, DataSource, HikariCP, การกำหนดค่า JPA (spring.jpa.*) - 25 คำถามสัมภาษณ์ - Mid-Level - [คำถามสัมภาษณ์: Spring Boot](https://sharpskill.dev/th/technologies/spring-boot/interview-questions.md) ## 1. JPA (Java Persistence API) คืออะไร? **คำตอบ** JPA เป็นข้อกำหนดมาตรฐานของ Java ที่นิยามอินเทอร์เฟซร่วมสำหรับการคงสภาพข้อมูลของอ็อบเจกต์เชิงสัมพันธ์ ช่วยให้สามารถแมปคลาส Java ไปยังตารางในฐานข้อมูลเชิงสัมพันธ์ได้ Hibernate, EclipseLink และ OpenJPA เป็นการนำข้อกำหนดนี้ไปใช้งาน การใช้ JPA ช่วยให้เปลี่ยนการนำ ORM ไปใช้งานได้โดยไม่ต้องเขียนโค้ดธุรกิจใหม่ ## 2. ข้อได้เปรียบหลักของการใช้ JPA เมื่อเทียบกับ JDBC แบบบริสุทธิ์คืออะไร? **คำตอบ** JPA ช่วยให้สามารถจัดการกับอ็อบเจกต์ Java แทนการเขียน SQL ด้วยตนเอง ORM จะจัดการการแมประหว่างคลาสและตารางโดยอัตโนมัติ สร้างคำสั่ง SQL และจัดการความสัมพันธ์ระหว่างเอนทิตี สิ่งนี้ช่วยลดโค้ด boilerplate ลดข้อผิดพลาดในการแมปด้วยตนเอง และเพิ่มความสามารถในการบำรุงรักษาโค้ดทางธุรกิจ ## 3. บทบาทหลักของ EntityManager ใน JPA คืออะไร? **คำตอบ** EntityManager คืออินเทอร์เฟซหลักของ JPA ที่จัดการวงจรชีวิตของเอนทิตีและการโต้ตอบกับฐานข้อมูล มันมีเมธอดสำหรับการ persist ค้นหา อัปเดต และลบเอนทิตี EntityManager ยังจัดการ persistence context ซึ่งดูแลแคชระดับแรกของเอนทิตีที่โหลดมาด้วย ## มีอีก 22 คำถาม - ความแตกต่างระหว่าง JPA และ Hibernate คืออะไร? - persistence context ใน JPA คืออะไร? สมัครฟรี: https://sharpskill.dev/th/login ## หัวข้อสัมภาษณ์ Spring Boot อื่นๆ - [Spring Core - IoC & DI](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-core-ioc-di.md): 22 คำถาม, Junior - [Spring Boot Auto-Configuration](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-boot-auto-configuration.md): 20 คำถาม, Junior - [Spring Boot Starters](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-boot-starters.md): 18 คำถาม, Junior - [Application Properties & YAML](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/application-properties-yml.md): 16 คำถาม, Junior - [การทำ Logging ด้วย SLF4J และ Logback](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/logging.md): 20 คำถาม, Junior - [Spring Boot DevTools](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-boot-devtools.md): 15 คำถาม, Junior - [Spring MVC Basics](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-mvc-basics.md): 20 คำถาม, Mid-Level - [Spring REST Controllers](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-rest-controllers.md): 20 คำถาม, Mid-Level - [Request & Response Handling](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/request-response-handling.md): 20 คำถาม, Mid-Level - [การจัดการข้อยกเว้น](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/exception-handling.md): 25 คำถาม, Mid-Level - [Bean Validation](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/bean-validation.md): 25 คำถาม, Mid-Level - [เอนทิตี JPA และความสัมพันธ์](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/jpa-entities-relationships.md): 30 คำถาม, Mid-Level - [การสืบค้น JPA](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/jpa-queries.md): 30 คำถาม, Mid-Level - [Spring Data Repositories](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-data-repositories.md): 25 คำถาม, Mid-Level - [พื้นฐาน Spring Security](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-security-basics.md): 25 คำถาม, Mid-Level - [Spring Boot Actuator](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-boot-actuator.md): 20 คำถาม, Mid-Level - [การทดสอบหน่วยด้วย JUnit และ Mockito](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/testing-junit-mockito.md): 30 คำถาม, Mid-Level - [การทดสอบ Spring Boot](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-boot-testing.md): 30 คำถาม, Mid-Level - [Profiles และ Environment](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/profiles-environment.md): 20 คำถาม, Mid-Level - [RestTemplate และ WebClient](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/resttemplate-webclient.md): 24 คำถาม, Mid-Level - [Async และ Scheduling](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/async-scheduling.md): 25 คำถาม, Mid-Level - [Caching ด้วย Spring](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/caching.md): 25 คำถาม, Mid-Level - [Spring WebFlux (Reactive)](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-webflux.md): 25 คำถาม, Mid-Level - [ทรานแซกชัน Spring](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/transactions.md): 30 คำถาม, Senior - [การยืนยันตัวตนและการให้สิทธิ์ขั้นสูง](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/authentication-authorization.md): 30 คำถาม, Senior - [JWT และความปลอดภัยแบบ Stateless](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/jwt-stateless-security.md): 20 คำถาม, Senior - [OAuth2 และ Authorization Server](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/oauth2-authorization-server.md): 20 คำถาม, Senior - [Spring Boot และ Docker](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-boot-docker.md): 19 คำถาม, Senior - [Microservices ด้วย Spring](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/microservices-basics.md): 25 คำถาม, Senior - [Spring Cloud Config](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-cloud-config.md): 19 คำถาม, Senior - [การเพิ่มประสิทธิภาพการทำงาน](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/performance-optimization.md): 30 คำถาม, Senior - [GraalVM Native Images](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/graalvm-native-images.md): 20 คำถาม, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-data-jpa-basics