programming (10) 썸네일형 리스트형 django ORM과 queryset django는 기본적으로 ORM을 제공한다. ORM은 쿼리문의 방대한 보일러 플레이트 코드를 줄여주는 장점이 있지만, 그렇다고 쿼리문을 모르고 사용해선 안되며 몇가지 복잡한 상황에서는 역효과가 나는 단점이 있다. 또 학습량이 늘어나기도 하기 때문에 마냥 좋다고 볼 수는 없다. 어쨌든 django에서 데이터를 가져오는 방법을 살펴보자. queryset = Task.objects.filter(due__lt=timezone.now()).order_by('-due') 이런식으로 메소드 체이닝 방식으로 데이터를 가져오며, queryset instance로 반환된다. 확인해보기 위해 shell을 작성해보자 queryset instance가 있고, Task object 배열이 담겨져있다. 하지만 실제로 데이터베이스를.. JPA Entity가 기본 생성자를 가져야 하는 이유 (정적 팩토리 메소드) JPA의 구현체인 hibernate에서 제공하는 다양한 기능을 활용하기 위해서는 public이나 protected 기본 생성자가 필요하다. Reflection API는 기본 생성자의 파라미터를 불러올 수 없기 때문에, 기본 생성자가 필요한 것이다. JPA는 매핑한 Entity를 조회할 때 class를 상속받은 Proxy 객체를 생성하기 때문에, private 생성자 대신 public, protected 기본 생성자가 있어야 한다. @Entity public class Article() { protected Article() {} } 정적 팩토리 메소드 Java Reflection API(구체적인 클래스 타입을 알지 못해도 그 클래스의 메소드, 타입, 변수들에 접근할 수 있도록 해주는 Java API, 컴.. 이전 1 2 다음