package com.in28minutes.springboot.learnjapandhibernate.course;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
@Entity
public class Course {
@Id
private long id;
private String name;
private String author;
public Course() {
}
@Override
public String toString() {
return "Course [id=" + id + ", name=" + name + ", author=" + author + "]";
}
public long getId() {
return id;
}
public String getName() {
return name;
}
public String getAuthor() {
return author;
}
public void setId(long id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void setAuthor(String author) {
this.author = author;
}
public Course(long id, String name, String author) {
super();
this.id = id;
this.name = name;
this.author = author;
}
}
package com.in28minutes.springboot.learnjapandhibernate.course.jpa;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.in28minutes.springboot.learnjapandhibernate.course.Course;
import jakarta.persistence.EntityManager;
import jakarta.persistence.PersistenceContext;
import jakarta.transaction.Transactional;
@Repository
@Transactional
public class CourseJpaRepository {
@PersistenceContext //@Autowired
private EntityManager entityManager;
public void insert(Course course) {
entityManager.merge(course);
}
public Course findById(long id) {
return entityManager.find(Course.class, id);
}
public void deleteByid(long id) {
Course course = entityManager.find(Course.class, id);
entityManager.remove(course);
}
}
package com.in28minutes.springboot.learnjapandhibernate.course;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
import com.in28minutes.springboot.learnjapandhibernate.course.Course;
import com.in28minutes.springboot.learnjapandhibernate.course.jpa.CourseJpaRepository;
@Component
public class CourseCommandLineRunner implements CommandLineRunner{
// @Autowired
// private CourseJdbcRepository repository;
@Autowired
private CourseJpaRepository repository;
@Override
public void run(String... args) throws Exception {
repository.insert(new Course(1, "Learn AWS", "in28minutes"));
repository.insert(new Course(2, "Learn AWS!", "in28minutes"));
repository.insert(new Course(3, "Learn AWS!!", "in28minutes"));
repository.deleteByid(1);
System.out.println(repository.findById(2));
System.out.println(repository.findById(3));
}
}
Course [id=2, name=Learn AWS!, author=in28minutes]
Course [id=3, name=Learn AWS!!, author=in28minutes]
/learn-jap-and-hibernate/src/main/resources/application.properties
spring.jpa.show-sql=true
Hibernate: select c1_0.id,c1_0.author,c1_0.name from course c1_0 where c1_0.id=?
Hibernate: insert into course (author,name,id) values (?,?,?)
Hibernate: select c1_0.id,c1_0.author,c1_0.name from course c1_0 where c1_0.id=?
Hibernate: insert into course (author,name,id) values (?,?,?)
Hibernate: select c1_0.id,c1_0.author,c1_0.name from course c1_0 where c1_0.id=?
Hibernate: insert into course (author,name,id) values (?,?,?)
Hibernate: select c1_0.id,c1_0.author,c1_0.name from course c1_0 where c1_0.id=?
Hibernate: delete from course where id=?
Hibernate: select c1_0.id,c1_0.author,c1_0.name from course c1_0 where c1_0.id=?
Course [id=2, name=Learn AWS!, author=in28minutes]
Hibernate: select c1_0.id,c1_0.author,c1_0.name from course c1_0 where c1_0.id=?
Course [id=3, name=Learn AWS!!, author=in28minutes]
'Spring > Spring Boot' 카테고리의 다른 글
Spring boot @Controller, @ResposeBody (0) | 2023.09.20 |
---|---|
Spring Data JPA (0) | 2023.09.20 |
Spring JDBC 데이터 쿼리 (0) | 2023.09.19 |
h2 삽입, 조회, 삭제 (0) | 2023.09.19 |
h2콘솔 실행하기 (0) | 2023.09.19 |