2017-12-24 28 views
1

다음 클래스가 있으며 querydsl을 사용해보고 기본 쿼리를 작성하려고합니다. intelliJ 2017.3을 사용하면 클래스 QUser가 생성되지 않습니다. 나는 내 문제를 인터넷 검색을 시도하고 각각의 답변은 다른 솔루션을 제공하는 것 같습니다 (일부는 작동하지 않았고 일부는 제가 전에 이런 것들을 사용하지 못했기 때문에 이해하지 못했습니다). 그리고 대부분의 튜토리얼은 완전히 다른 것들을하는 것처럼 보입니다.IntelliJ에서 QueryDsl 클래스가 생성되지 않았습니다.

스프링 부트가 내장되어있는 것으로 보이는 쿼리를 만들려고했는데 (아무 생각도하지 않고 간단하게 보이지만 모양이 너무 기본 적이기 때문에 쿼리가 제대로 작동하므로 추측 할 수 있음) 몇 가지 설정 문제 (나는 maven과 spring 멍청이이다).

// User.java 
@Entity 
@Table(name = "symptoms") 
public class Symptom 
{ 
    @Id 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    private Long id; 

    @NotNull 
    private String name; 

    public Long getId() 
    { 
     return id; 
    } 

    public void setId(Long id) 
    { 
     this.id = id; 
    } 

    public String getName() 
    { 
     return name; 
    } 

    public void setName(String name) 
    { 
     this.name = name; 
    } 
} 

나는 pom.xml 파일에이 일을 추가 한 : 나는 좋은 팔자 '코드를 사용하여 Q 클래스를 생성 관리해야

<dependency> 
     <groupId>com.querydsl</groupId> 
     <artifactId>querydsl-apt</artifactId> 
     <version>4.1.4</version> 
    </dependency> 

    <dependency> 
     <groupId>com.querydsl</groupId> 
     <artifactId>querydsl-jpa</artifactId> 
     <version>4.1.4</version> 
    </dependency> 

    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-log4j12</artifactId> 
     <version>1.7.25</version> 
    </dependency> 



    <plugin> 
      <groupId>com.mysema.maven</groupId> 
      <artifactId>apt-maven-plugin</artifactId> 
      <version>1.1.3</version> 
      <executions> 
       <execution> 
        <goals> 
         <goal>process</goal> 
        </goals> 
        <configuration> 
         <outputDirectory>target/generated-sources/java</outputDirectory> 
         <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 

답변

0

. 한 번만 호출하면 클래스가 target/generated-sources/java에 생성됩니다. 두 번째 - 마지막 행에서이 값을 변경할 수 있습니다. 마지막 줄에서

GenericExporter exporter = new GenericExporter(); 
exporter.setKeywords(Keywords.JPA); 
exporter.setEntityAnnotation(Entity.class); 
exporter.setEmbeddableAnnotation(Embeddable.class); 
exporter.setEmbeddedAnnotation(Embedded.class); 
exporter.setSupertypeAnnotation(MappedSuperclass.class); 
exporter.setSkipAnnotation(Transient.class); 
exporter.setTargetFolder(new File("target/generated-sources/java")); 
exporter.export(ApplicationClass.class.getPackage()); 

, ApplicationClass 봄 응용 프로그램을 시작하는 클래스입니다.