我开始在我的播放应用程序中使用postgresql并能够连接到播放的默认数据库并进行一些选择和更新。但是当我转向使用postgresql时总会出现错误。请给我一些建议。谢谢。 我已在/ lib中添加了postgresql-42.0.0.jar。
错误在这一行:" u1.save();": [PersistenceException:获取序列nextval时出错]
application.conf:
db.default.driver=org.postgresql.Driver
db.default.url="postgres://postgres:123456@localhost/testing"
#db.default.url="postgres://user:password@servername/dataBaseName"
# Ebean configuration
ebean.default="models.*"
build.sbt:
libraryDependencies ++= Seq(
"org.postgresql" % "postgresql" % "42.0.0 JDBC 42",
javaJdbc,
javaEbean,
cache
)
Application.java:
public class Application extends Controller {
public static Result index() {
User u1 = new User();
User u2 = new User();
u1.name = "Mm";
u2.name = "Nn";
u1.save();
u2.save();
return ok("saved");
}
public static Result allUser() {
List<User> users = User.findAll();
return ok(findalluser.render(users));
}
}
答案 0 :(得分:0)
如果您的错误确实是[PersistenceException:错误获取序列nextval],则表示您没有正确创建负责自动增加您的id的序列生成器。
在您的模型上,您必须在主键上使用此注释注释您的课程:
@Entity
public class User extends Model {
@Id //makes it a primary key
@GeneratedValue //creates the sequence generator
public Long id;
}
答案 1 :(得分:0)
我认为应该有端口号:
db.default.url="postgres://postgres:123456@localhost:5432/testing"