이터를 생성한 프로그램의 실행이 종료되더라도 데이터가 사라지지 않고 저장되는 데이터의 속성.
이 개념을 영속성(Persistenc)이라고 한다.
데이터들이 프로그램이 종료되어도 사라지지 않고 어떤 곳에 저장되는 개념을 영속성(Persistence) 이라고 한다.
Hibernate ORM은 자바 언어를 위한 객체 관계 매핑 프레임워크이다.
간단히 말해 관계형 디비 테이블을 자바 객체로 맵핑 시켜 사용하겠다는 것이다.
@Controller //MVC의 컨트롤러라는 것을 알려줌, 컨트롤러 애노테이션을 적어 스프링이 관리하도록 지정
@RequestMapping : 요청처리할 주소값 지정. 예를들어, hello 라는 값으로 들어온 요청을 처리한다.
JPQL(Java Persistence Query Language)
Hibernate ORM은 자바 언어를 위한 객체 관계 매핑 프레임워크이다.
간단히 말해 관계형 디비 테이블을 자바 객체로 맵핑 시켜 사용하겠다는 것이다.
그러나 하이버네이트 같은 ORM 프레임워크의 경우, 직접 쿼리를 작성하지 않고 JPA로 명세된 테이블 정보를 이용해 객체와 DB를 매핑시킨다. 즉, 코드에 직접 쿼리를 작성할 필요가 없다.

ORM(Object Relational Mapping) : 객체ㆍ관계 매핑의 줄임말
@Autowired
속성(field), setter method, constructor(생성자)에서 사용하며 Type에 따라 알아서 Bean을 주입 해준다.
무조건적인 객체에 대한 의존성을 주입시킨다.
이 Annotation을 사용할 시, 스프링이 자동적으로 값을 할당한다.
1. Autowired란
필요한 의존 객체의 “타입"에 해당하는 빈을 찾아 주입한다.
생성자
setter
필드
어쩔 수 없는 순환 참조는 생성자 주입으로 해결하기 어려움