Playframework Play find(“byEmail”,电子邮件)在PostgreSQL 8.3中不起作用
我有一个剧本!我一直在使用内存数据库开发的应用程序,现在我切换到PostgreSQL,以便可以部署到Heroku。我可以连接到数据库,并且可以正确创建表 我有一个类用户,如图所示:Playframework Play find(“byEmail”,电子邮件)在PostgreSQL 8.3中不起作用,playframework,Playframework,我有一个剧本!我一直在使用内存数据库开发的应用程序,现在我切换到PostgreSQL,以便可以部署到Heroku。我可以连接到数据库,并且可以正确创建表 我有一个类用户,如图所示: @Entity @Table(name="dp_user") public class User extends Model { @Email @Required public String email; ... public static User findBy
@Entity
@Table(name="dp_user")
public class User extends Model {
@Email
@Required
public String email;
...
public static User findByEmail(String email) {
return find("byEmail", email).first(); //line 55
}
}
当调用User.findByEmail
时,我得到以下信息:
Internal Server Error (500) for request GET /login
Execution exception (In /app/models/User.java around line 55)
JPAQueryException occured : Error while executing query from models.User where e
mail = ?: ERROR: operator does not exist: character varying = bytea
play.exceptions.JavaExecutionException: Error while executing query <strong>from
models.User where email = ?</strong>: ERROR: operator does not exist: character
varying = bytea
at play.templates.BaseTemplate.throwException(BaseTemplate.java:90)
at play.templates.GroovyTemplate.internalRender(GroovyTemplate.java:257)
etc.
请求获取/登录的内部服务器错误(500)
执行异常(在第55行附近的/app/models/User.java中)
JPAQueryException发生:从模型执行查询时出错。用户,其中e
邮件=?:错误:运算符不存在:字符变化=bytea
play.exceptions.JavaExecutionException:从执行查询时出错
models.User where email=?:错误:运算符不存在:字符
变化无常
play.templates.BaseTemplate.throweException(BaseTemplate.java:90)
play.templates.GroovyTemplate.internalRender(GroovyTemplate.java:257)
等
我对
JavaExecutionException
中的
标记有点困惑。我在我的视图中看不到任何可能导致这种情况的东西,但我认为这是一种误导,真正的问题是一些与PostgreSQL相关的配置问题。application.conf中的sql方言设置正确吗?它应该是jpa.dialogue=org.hibernate.dialogue.PostgreSqlDialogue
不是问题,添加它似乎是为了在HTML页面中显示消息时突出显示查询(
==bold)。你有没有按照emt14的建议检查一下你的jpa方言?啊哈!非常感谢。我知道我以前在配置文件中有这一行,但我在处理其他东西时,在某个时候丢失了它。你的建议解决了它!请重新措辞作为答案,我会检查它。application.conf中的sql方言设置是否正确?它应该是jpa.dialogue=org.hibernate.dialogue.PostgreSqlDialogue
不是问题,添加它似乎是为了在HTML页面中显示消息时突出显示查询(
==bold)。你有没有按照emt14的建议检查一下你的jpa方言?啊哈!非常感谢。我知道我以前在配置文件中有这一行,但我在处理其他东西时,在某个时候丢失了它。你的建议解决了它!换句话作为回答,我来核对一下。