我正在试用Play框架,并使用2.2.0版本和Java版本。
我想使用MySQL作为数据库,并且我已经遵循了这个站点的指示。我能够让进化脚本运行,但是我不能将任何东西保存到数据库中。在数据库中创建的表。当我试图调用我的控制器中的Ebean.save()方法时,我得到了Ebean.save。
我所做的是:
我错过了什么?我已经做了4个小时了,仍然不知道出了什么问题。如果我在内存数据库中使用h2,它就能正常工作。请帮帮我。
谢谢!
发布于 2014-02-23 06:11:01
我有类似的问题,我找到了一个解决办法。
罪魁祸首是您的id实体的Bar属性。您已经将id定义为字符串,而不是在保存Bar时设置它。在Long的情况下,id值将自动生成,但是对于String,您需要显式地设置它。
所以,
Bar bar = Form.form(Bar.class).bindFromRequest().get();
bar.id = UUID.randomUUID().toString();
bar.save();应该解决这个问题。希望这能有所帮助。
发布于 2013-10-26 22:05:18
您可能尝试的一件事是升级mysql连接器。你使用的那个有点旧(2011年4月发布)
"mysql“%”mysql-连接器-java“% "5.1.26”
如果这没有帮助,那么我将尝试确保凭据+连接URL是正确的。
发布于 2014-08-01 00:50:54
我也有同样的问题(在Mac和MySQL上),但是我没有使用字符串ID
User {
@Id
public long id;
public String fullName;
}当我试着:
Ebean.save(user) 我得到了:
PersistenceException: java.sql.SQLException:连接关闭了!
使用自动增量策略和更新mysql连接器对我没有帮助.
问题是试图在字段中编写unicode,因为没有Unicode,一切都能工作。仔细检查后,发现MySQL数据库是在没有utf8_general_ci的情况下创建的,但是使用现有数据库上的ALTER添加该属性不起作用。
使用默认的排序规则utf8_general_ci,为我创建一个新的数据库。
https://stackoverflow.com/questions/19000438
复制相似问题