Search code examples
mysqlmavenormquerydsl

QueryDSL not generating entities for MySql tables


I am trying to use QueryDSL with MySql. To begin with, I'm trying to get Entity classes generated for the tables in my database.

Here is my POM:

    <plugin>
    <groupId>com.querydsl</groupId>
    <artifactId>querydsl-maven-plugin</artifactId>
    <version>4.0.3</version>
    <executions>
      <execution>
        <goals>
          <goal>test-export</goal>
        </goals>
      </execution>
    </executions>
    <configuration>
      <jdbcDriver>${jdbc.driver}</jdbcDriver>
        <jdbcUrl>${jdbc.url}</jdbcUrl>
        <jdbcUser>${jdbc.user}</jdbcUser>
        <jdbcPassword>${jdbc.password}</jdbcPassword>
        <tableNamePattern>.*</tableNamePattern>
      <packageName>app.domain</packageName>
      <targetFolder>${project.basedir}/src/main/java</targetFolder>
      <sourceFolder>${project.basedir}/src/main/java</sourceFolder>
    </configuration>
    <dependencies>
      <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>6.0.3</version>
      </dependency>
    </dependencies>
  </plugin>

Properties:

        <properties>
            <jdbc.user>root</jdbc.user>
            <jdbc.password>root</jdbc.password>
            <jdbc.url>jdbc:mysql://localhost:3306/test</jdbc.url>
            <jdbc.driver>com.mysql.cj.jdbc.Driver</jdbc.driver>
            <querydsl.version>4.0.3</querydsl.version>
        </properties>

However, this is not working. There are no exceptions.

QueryDSL doc: https://github.com/querydsl/querydsl/tree/master/querydsl-sql

Any ideas on what I might be missing here?


Solution

  • I was also facing this issue. This is appearing due to mysql 6.0.2+. Just appended nullNamePatternMatchesAll=true to mysql connection string it helped. In earlier version default value was set to true. In version 6.0.2+ it is made as false by default.