播放框架 - 无法连接到postgresql

时间:2017-03-19 07:56:58

标签: postgresql playframework

我开始在我的播放应用程序中使用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));
    }
}

2 个答案:

答案 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"