Sql 无法从静态上下文-JDO Querydsl引用非静态变量角色

Sql 无法从静态上下文-JDO Querydsl引用非静态变量角色,sql,join,maven-2,jdo,querydsl,Sql,Join,Maven 2,Jdo,Querydsl,我正在使用JDO Querydsl构建一个maven项目。但在我的DaoImpl类中,有一行显示了错误:“不能从静态上下文引用非静态变量角色” 我的pojo课程是: User.java @PersistenceCapable(table="User_Login") public class User { @PrimaryKey @Column(name="user_id") private Integer userId=0; @Column(name="user_profile_name") p

我正在使用JDO Querydsl构建一个maven项目。但在我的DaoImpl类中,有一行显示了错误:“不能从静态上下文引用非静态变量角色”

我的pojo课程是: User.java

@PersistenceCapable(table="User_Login")
public class User {
@PrimaryKey
@Column(name="user_id")
private Integer userId=0;
@Column(name="user_profile_name")
private String userProfileName=null;  
@Column(name="user_email")
private String userEmail=null;
@Column(name="user_contact")
private String userContact=null;
@Column(name="user_name")
private String userName=null;
@Column(name="user_password")
private String userPassword=null;
@Column(name="user_role_id")
private Integer userRoleId=0;

private Role userRole=null;
Role.java:

   @PersistenceCapable(table="User_Role")
    public class Role {
    @PrimaryKey
    @Column(name="id")
    private Integer roleId=0;
    @Column(name="role")
    private String role=null;   
我的要求是:

用户ID:1,角色:admin

我的DAOImpl类:

public List<User> getUser(String user_name, String user_password) {
    PersistenceManager pm =  
       this.persistenceManagerFactory.getPersistenceManager();
    Transaction tx = pm.currentTransaction();     
    SQLTemplates templates = new MySQLTemplates();         
    QUser user = QUser.user;
    QRole role = QRole.role;-----------**this is showing error**      
    JDOSQLQuery query = new JDOSQLQuery(pm, templates);
    try {
    // Start the transaction
    tx.begin(); 
    List<User> result = query.from(user)
                  .innerJoin(role).on(user.userRoleId.eq(role.roleId))
                  .where(user.userName.eq(user_name), 
             user.userPassword.eq(user_password)).
             list(user);               
    query.close();
    tx.commit();
    return result;
    }
    finally {
        if (tx.isActive())
        {
            // Error occurred so rollback the transaction
            tx.rollback();
        }
        pm.close();
    } 
public List getUser(字符串用户名、字符串密码){
PersistenceManager pm=
this.persistenceManagerFactory.getPersistenceManager();
事务tx=pm.currentTransaction();
SQLTemplates templates=新的MySQLTemplates();
QUser=QUser.user;
QRole-role=QRole.role;-------------**这显示错误**
JDOSQLQuery query=新的JDOSQLQuery(pm,模板);
试一试{
//启动事务
tx.begin();
列表结果=查询.from(用户)
.innerJoin(role).on(user.userRoleId.eq(role.roleId))
.where(user.userName.eq(用户名),
user.userPassword.eq(user\u password))。
列表(用户);
query.close();
tx.commit();
返回结果;
}
最后{
if(tx.isActive())
{
//发生错误,因此回滚事务
tx.回滚();
}
pm.close();
} 
我的pom.xml是:

    <project xmlns="http://maven.apache.org/POM/4.0.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
       http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.titas</groupId>
<artifactId>QuerydslJDO</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>

<name>QuerydslJDO</name>

<properties>
    <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-web-api</artifactId>
        <version>6.0</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
    </dependency> 
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.1</version>
        <scope>provided</scope>
    </dependency>
    <dependency> 
        <groupId>jstl</groupId> 
        <artifactId>jstl</artifactId> 
        <version>1.2</version> 
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>4.1.6.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>4.1.6.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>4.1.6.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>4.1.6.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aspects</artifactId>
        <version>4.1.6.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.6</version>
    </dependency> 
    <dependency>
        <groupId>javax.jdo</groupId>
        <artifactId>jdo-api</artifactId>
        <version>3.0.1</version>
    </dependency>
    <dependency>
        <groupId>com.mysema.querydsl</groupId>
        <artifactId>querydsl-apt</artifactId>
        <version>3.6.3</version>
        <scope>provided</scope>
    </dependency>            
    <dependency>
      <groupId>com.mysema.querydsl</groupId>
      <artifactId>querydsl-jdo</artifactId>
      <version>3.6.3</version>
    </dependency>
    <dependency>
        <groupId>com.mysema.querydsl</groupId>
        <artifactId>querydsl-sql</artifactId>
        <version>3.6.3</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.6.1</version>
    </dependency> 
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
                <compilerArguments>
                    <endorseddirs>${endorsed.dir}</endorseddirs>
                </compilerArguments>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.1.1</version>
            <configuration>
                <failOnMissingWebXml>false</failOnMissingWebXml>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>2.1</version>
            <executions>
                <execution>
                    <phase>validate</phase>
                    <goals>
                        <goal>copy</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>${endorsed.dir}
                        </outputDirectory>
                        <silent>true</silent>
                        <artifactItems>
                            <artifactItem>
                                <groupId>javax</groupId>
                                <artifactId>javaee-endorsed-
                                 api</artifactId>
                                <version>6.0</version>
                                <type>jar</type>
                            </artifactItem>
                        </artifactItems>
                    </configuration>
                </execution>
            </executions>
        </plugin> 
        <plugin>
            <groupId>com.mysema.maven</groupId>
            <artifactId>apt-maven-plugin</artifactId>
            <version>1.0.4</version>
            <executions>
              <execution>
                <goals>
                  <goal>process</goal>
                </goals>
                <configuration>
                  <outputDirectory>target/generated-sources
                   /java</outputDirectory>
                  <processor>com.mysema.query.apt.jdo.
                   JDOAnnotationProcessor</processor>
                </configuration>
              </execution>
            </executions>
        </plugin> 
        <plugin>
            <groupId>com.mysema.querydsl</groupId>
            <artifactId>querydsl-maven-plugin</artifactId>
            <version>2.9.0</version>
            <executions>
              <execution>
                <goals>
                  <goal>export</goal>
                </goals>
              </execution>            
            </executions>
            <configuration>
              <jdbcDriver>com.mysql.jdbc.Driver</jdbcDriver>
              <jdbcUrl>jdbc:mysql://localhost:3306/login</jdbcUrl>
              <jdbcUser>root</jdbcUser>
              <packageName>com.titas.model</packageName>
              <targetFolder>${project.basedir}/target/generated-sources
               /java</targetFolder> 
            </configuration>
            <dependencies>
              <dependency>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <version>5.1.6</version>
              </dependency>
            </dependencies>
        </plugin>        
    </plugins>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
        </resource>
    </resources>
</build>

4.0.0
com.titas
QuerydslJDO
1.0-快照
战争
QuerydslJDO
${project.build.directory}/project
UTF-8
爪哇
javaeewebapi
6
假如
javax.servlet
javax.servlet-api
3.1.0
javax.servlet.jsp
jsp api
2.1
假如
jstl
jstl
1.2
org.springframework
SpringWebMVC
4.1.6.1发布
org.springframework
德克萨斯州春季
4.1.6.1发布
org.springframework
春季甲虫
4.1.6.1发布
org.springframework
SpringJDBC
4.1.6.1发布
org.springframework
春季方面
4.1.6.1发布
mysql
mysql连接器java
5.1.6
javax.jdo
jdoapi
3.0.1
com.mysema.querydsl
querydsl公寓
3.6.3
假如
com.mysema.querydsl
querydsl jdo
3.6.3
com.mysema.querydsl
querydsl sql
3.6.3
org.slf4j
slf4j-log4j12
1.6.1
org.apache.maven.plugins
maven编译器插件
2.3.2
1.6
1.6
${annowed.dir}
org.apache.maven.plugins
maven战争插件
2.1.1
假的
org.apache.maven.plugins
maven依赖插件
2.1
验证
复制
${annowed.dir}
真的
爪哇
javaee认可-
应用程序编程接口
6
罐子
com.mysema.maven
aptmaven插件
1.0.4
过程
目标/生成源
/爪哇
com.mysema.query.apt.jdo。
JDOAnnotationProcessor
com.mysema.querydsl
querydsl maven插件
2.9.0
出口
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/login
根
com.titas.model
${project.basedir}/target/generated sources
/爪哇
mysql
mysql连接器java
5.1.6
src/main/resources

由于您的Role.java已经包含属性“Role”Querydsl无法将您的标准变量生成为“QRole.Role”,因此它被命名为“QRole.role1”。

为什么它没有连接到DB?我的批注可以连接到DB吗?