2017-03-19 96 views
0

我开始在我的播放应用程序中使用postgresql,并能够连接到播放的默认数据库并执行一些选择和更新。但是,当我转而使用postgresql时,总会出现错误。请给我一些建议。谢谢。 我已经在/ lib中添加了postgresql-42.0.0.jar。播放框架 - 无法连接到postgresql

错误在这行: “u1.save();”: [的PersistenceException:错误获取序列NEXTVAL]

application.conf: 
    db.default.driver=org.postgresql.Driver 
    db.default.url="postgres://postgres:[email protected]/testing" 
    #db.default.url="postgres://user:[email protected]/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)); 
    } 
} 
+1

有什么实际的错误?它是否实际连接到数据库? – Mikesname

回答

0

如果你的错误真的是[的PersistenceException:错误获取序列NEXTVAL]这意味着,你没有正确创建你的序列生成器,它负责自动增加你的ID。

在你的模型,你得批注主键与这个注解你的类:

@Entity 
public class User extends Model { 
    @Id //makes it a primary key 
    @GeneratedValue //creates the sequence generator 
    public Long id; 
} 
0

我觉得应该有端口号:

db.default.url="postgres://postgres:[email protected]:5432/testing"