标签: ebean

Ebean持久性不适用于Play 2.0

为了让自己熟悉Play 2.0 Framework,我一直在关注Play 2.0简介教程.不幸的是,我无法让Ebean坚持不懈地工作.我Task.java看起来像这样:

package models;

import java.util.*;

import play.db.*;
import play.data.validation.Constraints.*;

import javax.persistence.*;

@Entity
public class Task {

    @Id 
    public Long id;

    @Required
    public String label;

    public static List<Task> all() {
        return find.all();
    }

    public static void create(Task task) {
        task.save();
    }

    public static void delete(Long id) {
        find.ref(id).delete();
    }

}
Run Code Online (Sandbox Code Playgroud)

但在运行一个应用,findsave不能得到解决.我想我忘了导入一个模块,但我无法弄清楚它是哪个...

java ebean playframework-2.0

3
推荐指数
1
解决办法
2224
查看次数

Play framework 2.0:使用简单模型进行H2 DB演变

我试图创建一个简单的控制器/模型(基于播放2.0的示例代码)并获得有关DB演变的消息:

Database 'default' needs evolution!

An SQL script will be run on your database - "Apply this script now"

1 # --- Rev:1,Ups - fbdc2fd
2 create table group (
3 id                        bigint not null,
4 name                      varchar(255),
5 description               varchar(255),
6 due_date                  timestamp,
7 constraint pk_group primary key (id))
8 ;
9 
10 create sequence group_seq;
Run Code Online (Sandbox Code Playgroud)

但是当点击按钮时,我收到以下错误消息:

Database 'default' is in inconsistent state!

An evolution has not been applied properly. Please check the problem and resolve it manually before …
Run Code Online (Sandbox Code Playgroud)

h2 playframework ebean playframework-2.0

3
推荐指数
1
解决办法
5260
查看次数

Play Framework 2.1(Java)eBean @Encrypted Annotation Errors

我正在尝试在字符串字段上为数据库模型使用eBean @Encrypted批注.文档使它看起来很简单,但是我在浏览器中使用内置的H2内存数据库获得了一个非常模糊的运行时错误:

package models; 

import java.util.*; 
import javax.persistence.*; 
import play.db.ebean.*; 
import play.db.ebean.Model.Finder; 
import play.data.format.*; 
import play.data.validation.*; 
import com.avaje.ebean.*; 
import com.avaje.ebean.annotation.*; 

@Entity  
public class Test extends Model { 

 @Id 
 public Long id; 

 @Encrypted 
 public String identifier;

}
Run Code Online (Sandbox Code Playgroud)

产生与@Encrypted批注相关的以下运行时错误:

Unexpected exception
RuntimeException: Error reading annotations for models.Test
No source available, here is the exception stack trace:
->java.lang.RuntimeException: Error reading annotations for models.Test
     com.avaje.ebeaninternal.server.deploy.parse.ReadAnnotations.readInitial(ReadAnnotations.java:26)
     com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.createDeployBeanInfo(BeanDescriptorManager.java:1026)
     com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.readEntityDeploymentInitial(BeanDescriptorManager.java:533)
     com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.deploy(BeanDescriptorManager.java:250)
     com.avaje.ebeaninternal.server.core.InternalConfiguration.<init>(InternalConfiguration.java:124)
     com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:210)
     com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:64)
     com.avaje.ebean.EbeanServerFactory.create(EbeanServerFactory.java:59)
     play.db.ebean.EbeanPlugin.onStart(EbeanPlugin.java:79)
     play.api.Play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(Play.scala:63)
     play.api.Play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(Play.scala:63)
     scala.collection.immutable.List.foreach(List.scala:309)
     play.api.Play$$anonfun$start$1.apply$mcV$sp(Play.scala:63)
     play.api.Play$$anonfun$start$1.apply(Play.scala:63)
     play.api.Play$$anonfun$start$1.apply(Play.scala:63)
     play.utils.Threads$.withContextClassLoader(Threads.scala:18)
     play.api.Play$.start(Play.scala:62)
     play.core.ReloadableApplication$$anonfun$get$1$$anonfun$1.apply(ApplicationProvider.scala:133)
     play.core.ReloadableApplication$$anonfun$get$1$$anonfun$1.apply(ApplicationProvider.scala:106)
     scala.Option.map(Option.scala:145) …
Run Code Online (Sandbox Code Playgroud)

java playframework ebean playframework-2.0 playframework-2.1

3
推荐指数
1
解决办法
1983
查看次数

用MongoDB播放2个Ebean

当我尝试在我的play框架应用程序的application.conf中使用MongoDB驱动程序时

db.default.driver=com.mongodb
Run Code Online (Sandbox Code Playgroud)

我收到了Driver not found错误.我在Build.scala中为MongoDB驱动程序配置了依赖项.

我正在使用MongoDB mongo-java-driverv 2.11.1的官方Java驱动程序.我希望这个驱动程序与Ebean一起使用.

要使其db.default.driver正常工作,正确的类名是什么?

mongodb playframework ebean

3
推荐指数
1
解决办法
3032
查看次数

Ebean:用OR加入多个表达式

我使用PLAY Framework 2.2.1,我想构建一个查询来搜索数据库中我从输入表单中获得的术语.

这是我到目前为止所得到的,但它不起作用:

...
List<String> terms;
public static Model.Finder<Integer, XYZ> find = new Model.Finder<Integer, XYZ.class>(Integer.class, XYZ.class);
ExpressionList<XYZ> el = XYZ.find.where();

for(String term : terms){
    el.add(Expr.ilike("name", term + "%"));
}

List<XYZ> results = XYZ.find.where().add(el.disjunction()).findList();
Run Code Online (Sandbox Code Playgroud)

我不知道如何使用OR向我的查询添加和连接多个表达式.

usebean playframework ebean playframework-2.0

3
推荐指数
1
解决办法
2434
查看次数

DdlGenerator构造函数不需要参数?

我想单元测试我的数据库操作,我发现了这段代码.但是,我收到了以下错误:

[CityGame] $ test
[info] Compiling 2 Java sources to /Users/pmichna/Documents/code/citygame/target/scala-2.10/test-classes...
[error] /Users/pmichna/Documents/code/citygame/test/models/BaseModelTest.java:31: error: constructor DdlGenerator in class DdlGenerator cannot be applied to given types;
[error]         ddl = new DdlGenerator((SpiEbeanServer) server, new MySqlPlatform(), config);
[error]               ^
[error]   required: no arguments
[error]   found: SpiEbeanServer,MySqlPlatform,ServerConfig
[error]   reason: actual and formal argument lists differ in length
[error] 1 error
[error] (test:compile) javac returned nonzero exit code
[error] Total time: 2 s, completed 2013-12-17 00:21:23
Run Code Online (Sandbox Code Playgroud)

有没有DdlGenerator改变?

database playframework ebean playframework-2.2

3
推荐指数
1
解决办法
997
查看次数

如何在Play 2.2中使用ebean框架和scala创建模型实例

我想用scala和fremework Play 2.2来实例化Ebean项目的模型对象.我面临ID自动生成和类参数/抽象的问题:

   @Entity 
    class Task(@Required val label:String) extends Model{
      @Id 
      val id: Long
    }

object Task {
  var find: Model.Finder[Long, Task] = new Model.Finder[Long, Task](classOf[Long], classOf[Task])

  def all(): List[Task] = find.all.asScala.toList

  def create(label: String) {
   val task =  new Task(label)
   task.save
  }

  def delete(id: Long) {
    find.ref(id).delete
  }
}
Run Code Online (Sandbox Code Playgroud)

错误:"类任务需要是抽象的,因为没有定义值id".有什么想法可以避免这个问题?

orm scala playframework ebean

3
推荐指数
1
解决办法
1815
查看次数

如何在Play Framework中使用Ebean限制MySQL查询

嘿伙计们,我有使用Play Framework的问题.我正在尝试显示大量数据(来自此数据库).当我使用"find.all()"时,Play Framework Server崩溃,因为它占用了大量内存.

我有一个名为的DB模型:

@Entity
public class dblp_pub_new extends Model {
[...]
    public dblp_pub_new() {}

    public static List<dblp_pub_new> all() {
        return find.all();
    }

    public String getDoi() {
        return doi;
    }

    public void setMdate() {
        this.mdate = new Date();
    }

    public static Finder<String,dblp_pub_new> find = new Finder<String, dblp_pub_new>(String.class, dblp_pub_new.class);

}
Run Code Online (Sandbox Code Playgroud)

我的渲染函数是,它包含在Application.java中:

public static Result dois(){
    return ok(views.html.index.render(dblp_pub_new.all(), DoiForm));
}
Run Code Online (Sandbox Code Playgroud)

我试图将all()查询限制为50(最好是每页).但我似乎无法弄明白.我想我需要一个List返回显示在网页上.但我无法让它发挥作用.如果你们中的一个(和女孩)可以帮助我解决这个问题,我会真的很放心.我用"fetch"和"setMaxRows()"尝试过它,但我只能得到我似乎无法解决的错误.如果有不清楚的地方,请问我,我会尽量提供尽可能多的信息.谢谢.

mysql playframework ebean

3
推荐指数
2
解决办法
5579
查看次数

使用Ebean查询原始SQL时如何映射结果

使用Ebean创建的Postgres表,我想用手写的语句查询这些表:

SELECT r.name,
       r.value,
       p.name as param1,
       a.name as att1,
       p2.name as param2,
       a2.name as att2
FROM compatibility c
JOIN attribute a ON c.att1_id = a.id
JOIN attribute a2 ON c.att2_id = a2.id
JOIN PARAMETER p ON a.parameter_id = p.id
JOIN PARAMETER p2 ON a2.parameter_id = p2.id
JOIN rating r ON c.rating_id = r.id
WHERE p.problem_id = %d
  OR p2.problem_id = %d
Run Code Online (Sandbox Code Playgroud)

每个连接表代表我的一个模型类.查询执行正常,但我不知道如何继续:

我如何使用Play 2.2执行查询.和Ebean?如何将此查询映射到可迭代对象?我是否需要创建一个包含查询中所有字段的Model类,还是可以使用某种HashMap?如何以安全的方式参数化查询?

java sql postgresql ebean

3
推荐指数
1
解决办法
5356
查看次数

Play Framework 2.4 Ebean

我正在学习如何在Play Framework中使用Ebean ORM,但却遇到了错误.我有很多课程,但问题出在这两个课程中.

StockItem类:

import com.avaje.ebean.Model;
import com.google.inject.Inject;

import javax.persistence.*;

@Entity
public class StockItem extends Model{
    @Id
    private Long id;

/*

    @ManyToOne
    private Warehouse warehouse;
*/

    @ManyToOne
    private Product product;

    private Long quantity;

    public static Finder<Long,StockItem> find = new Finder<>(StockItem.class);

    public StockItem(){
        //left blank
    }

    public String toString() {
        return String.format("%d %s",quantity,product);
    }

///gettters and setters

}
Run Code Online (Sandbox Code Playgroud)

仓库类:

import com.avaje.ebean.Model;
import javax.persistence.Entity;

@Entity
public class Warehouse extends Model{

    private String name;
/*

    @OneToMany(mappedBy="warehouse")
    private List<StockItem> stock;  // = new ArrayList<>(); …
Run Code Online (Sandbox Code Playgroud)

java playframework ebean playframework-2.4

3
推荐指数
1
解决办法
1816
查看次数