标签: ebean

Play Framework:PersistenceException:该类型不是注册实体?(Ebean)

我正在关注Java的Play Framework 2.0教程,并在尝试保存ebean Model(task.save())时遇到此错误.

[PersistenceException:类型[class models.Task]不是注册实体?如果没有明确列出要使用的实体类,Ebean将在类路径中搜索它们.如果实体位于Jar中,请检查ebean.properties文件中的ebean.search.jars属性,或者检查ServerConfig.addJar().

java persistence ebean playframework-2.0

6
推荐指数
1
解决办法
6152
查看次数

filterMany for Play 2返回所有结果

我正在使用Play 2.0.2和ebean.

Info课堂上,我定义了

@ManyToMany(fetch=FetchType.EAGER)
private Set<MemberInfo> members;

private Date createdDate = new Date();
Run Code Online (Sandbox Code Playgroud)

MemberInfomemberId领域.

当我做

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

find.fetch("members")
    .where().filterMany("members").eq("memberId", memberId)
    .order().desc("createdDate")
    .findList();
Run Code Online (Sandbox Code Playgroud)

它返回所有的Info,不检查memberIdmembers.

我做错了什么?谢谢.

ebean playframework-2.0

6
推荐指数
1
解决办法
2470
查看次数

使用Ebean生成"删除级联"

我正在使用Ebean,我需要最终得到"删除级联"作为DDL(数据定义语言) - 哪个注释做到了?我试过了

@OneToMany(cascade=CascadeType.REMOVE)
Run Code Online (Sandbox Code Playgroud)

但是这给出了"on delete restrict"/不会更改默认的"删除限制"?

java orm persistence hibernate ebean

6
推荐指数
1
解决办法
1669
查看次数

如何在 ebean 中预先加载集合?

在 ebean 和 Play Framework 2 中急切获取嵌套集合的正确方法是什么?我试过这个:

Registration registration = find
    .fetch("participants")
    .fetch("participants.fieldValues")
    .fetch("participants.fieldValues.field")
    .where().eq("token", token).findUnique();
Run Code Online (Sandbox Code Playgroud)

出于某种原因,registration.participants.fieldValues.field对象只有一个 id。其余field属性为空。例如field.name,当它应该有一个值时为空。

编辑:如果我将 Field.name 设为私有并为其添加一个 getter/setter,那么我可以获得它的值。但是由于我使用的是fetch("participants.fieldValues.field")不应该让它在不需要 getter/setter 的情况下急切地获取吗?

java eager-loading playframework ebean playframework-2.0

6
推荐指数
1
解决办法
1272
查看次数

Play Framework Ebean BigDecimal分数

我正在使用Play框架与Ebean和H2数据库.

问题是,BigDecimalDB脚本中的结果如下:

  sum                       decimal(38),
Run Code Online (Sandbox Code Playgroud)

但我想要的是:

  sum                       decimal(38,2),
Run Code Online (Sandbox Code Playgroud)

我已经尝试在模型中定义这样的值:

    @Digits(integer=6, fraction=2)
    private BigDecimal sum;
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

h2 playframework ebean

6
推荐指数
1
解决办法
1255
查看次数

Play 2.2中的慢块响应

在我的基于Play框架的Web应用程序中,用户可以以csv或json格式下载不同数据库表的所有行.表格相对较大(100k +行),我试图使用Play 2.2中的分块来回传结果.

但问题是虽然println语句显示行被写入Chunks.Out对象,但它们不会显示在客户端!如果我限制发回的行将会起作用,但是如果我尝试发送所有行并导致超时或服务器内存不足,那么它在开始时也会有很大的延迟.

我使用Ebean ORM并且表被索引并且从psql查询不需要花费太多时间.有谁知道可能是什么问题?

我非常感谢你的帮助!

以下是其中一个控制器的代码:

@SecureSocial.UserAwareAction
public static Result showEpex() {

    User user = getUser();
    if(user == null || user.getRole() == null)
        return ok(views.html.profile.render(user, Application.NOT_CONFIRMED_MSG));

    DynamicForm form = DynamicForm.form().bindFromRequest();
    final UserRequest req = UserRequest.getRequest(form);

    if(req.getFormat().equalsIgnoreCase("html")) {
        Page<EpexEntry> page = EpexEntry.page(req.getStart(), req.getFinish(), req.getPage());
        return ok(views.html.epex.render(page, req));
    }

    // otherwise chunk result and send back
    final ResultStreamer<EpexEntry> streamer = new ResultStreamer<EpexEntry>();
    Chunks<String> chunks = new StringChunks() {
            @Override
            public void onReady(play.mvc.Results.Chunks.Out<String> out) {

                Page<EpexEntry> page = EpexEntry.page(req.getStart(), req.getFinish(), 0); …
Run Code Online (Sandbox Code Playgroud)

java chunking ebean playframework-2.0

6
推荐指数
1
解决办法
1608
查看次数

如何删除没有SQL的所有行

是否有其他方法可以删除数据库表的所有行而无需编写SQL删除语句?

List<Item> items = Ebean.find(Item.class).findList();
Ebean.delete(items);
Run Code Online (Sandbox Code Playgroud)

有没有像

Ebean.deleteAll(Item.class)
Run Code Online (Sandbox Code Playgroud)

在Ebean API?

java sql ebean sql-delete

6
推荐指数
1
解决办法
1327
查看次数

hibernate vs ebean是可扩展的,高性能的ORM

我们将编写一个服务,我们正在尝试评估技术堆栈.因此,作为ORM的一部分,我们正在考虑使用hibernate,但是从我的一位同事那里我开始了解abt ebean.但我们对ebean一无所知.

所以我的问题是:hibernate,任何可销售性或性能瓶颈是否有任何缺点?ebean带来的优势是什么?

java orm hibernate ebean

6
推荐指数
2
解决办法
4085
查看次数

ebean的更新方法在playframework中不起作用

最近我开始使用Play framework 2.3.8.

但是模型的更新是没有工作的麻烦.

顺便说一下,save方法有效.

更新不适用于以下代码.(它不会持久存储到数据库中.)

User user = User.findByEmail(email);
user.remoteAddress = remoteAddress;
user.userAgent     = userAgent;
user.latitude      = latitude;
user.longitude     = longitude;
user.lastLoginAt   = new Date();
user.update();
Run Code Online (Sandbox Code Playgroud)

但是,以下代码将按预期工作.

User newUser = new User();
newUser.id = user.id;
newUser.remoteAddress = remoteAddress;
newUser.userAgent     = userAgent;
newUser.latitude      = latitude;
newUser.longitude     = longitude;
newUser.lastLoginAt   = new Date();
newUser.update();
Run Code Online (Sandbox Code Playgroud)

为什么我不能更新原始实例?

用户类如下.

package models.entities;

import java.util.*;

import javax.persistence.*;

import com.avaje.ebean.annotation.*;

import play.db.ebean.*;
import play.db.ebean.Model.Finder;

import play.data.validation.Constraints.*;

import play.Logger;

import models.services.*;

/**
* @author satouf
*/
@Entity
@Table(name="user") …
Run Code Online (Sandbox Code Playgroud)

java ebean playframework-2.3

6
推荐指数
3
解决办法
4289
查看次数

Ebean OrderBy CASE WHEN

使用 Ebean finder 时,是否可以提供如下所示的 order by 语句:

ORDER BY 
   CASE
      WHEN a = 'FOO' THEN 1
      WHEN a = 'BAR' THEN 2
      ELSE 99
   END
Run Code Online (Sandbox Code Playgroud)

ebean playframework-2.0

5
推荐指数
1
解决办法
472
查看次数