Play Framework - 在使用dist命令部署之后,我得到“没有为该名称定义查询[...]”错误

时间:2017-03-17 12:58:36

标签: java hibernate playframework

我在调试模式下有一个可用的Java Play Framework应用程序,它使用Hibernate JPA来实现持久性。

当我尝试在生产环境中部署和运行应用程序时,我遇到了问题。我已经使用dist任务构建了应用程序,并将其部署到生产环境中。

当我在连接数据库的应用程序中运行任何服务并使用@NamedQueries @NamedQuery注释创建查询时,我在日志中收到以下错误:

play.api.UnexpectedException: Unexpected exception[CompletionException: java.lang.IllegalArgumentException: No query defined for that name [myq]]

相同的服务在调试环境中运行良好。

以下是包含注释的类中的代码:

import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
...

@Entity
@Table(name = "user", catalog = "mydb")
@NamedQueries({
    @NamedQuery(name = User.BY_USERNAME, query = 
            "select u from User u where u.username=:username")
})
public class User implements java.io.Serializable {

    public static final String BY_USERNAME = "myq";
...

1 个答案:

答案 0 :(得分:0)

更改导入。而不是:

import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;

使用以下内容:

import org.hibernate.annotations.NamedQueries;
import org.hibernate.annotations.NamedQuery;