标签: ebean

如何为ebean创建自定义索引?

我正在使用ebean,它很容易使用,但我不知道创建我的自定义索引.

@Entity
@Table(name="users")
public class User {
    public String name;

    // how to create index for this column?
    public long displayOrder;
}
Run Code Online (Sandbox Code Playgroud)

我试图为列创建索引displayOrder,但是怎么做呢?

没有注释,每次都会重新生成生成的ddl文件,所以我不能在那里添加自己的ddl语句.直接在数据库中添加索引并不方便.

有没有简单的解决方案呢?

indexing ddl ebean

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

获取Play Framework中使用Ebean保存的最新更新行

我正在学习Play Framework.我创建了一些Form并将相应的对象保存到我的数据库中:

object.save();
Run Code Online (Sandbox Code Playgroud)

我想获得刚刚保存的对象.我检查了文档,发现save()没有返回类型.

那么无论如何我能得到那个对象吗?(对象表的id列设置为自动递增,如果这可能有帮助)

playframework ebean

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

Ebean @ManyToOne,finder不会检索相关对象的所有数据

我正在使用Ebean进行对象映射,并且我已经创建了我的SQL表

create table company (
  id                int auto_increment not null primary key,
  name              varchar(100)
);

create table employee (
  id                int auto_increment not null primary key,
  name              varchar(100) not null,
  company_id        int not null,
  constraint foreign key (company_id) references company (id)
      on delete restrict on update restrict
);
Run Code Online (Sandbox Code Playgroud)

这是Ebean公司的模型

import javax.persistence.Entity;
import javax.persistence.Id;
import com.avaje.ebean.Model;
@Entity
public class Company extends Model
{
    @Id
    public Integer id;
    public String name;
}
Run Code Online (Sandbox Code Playgroud)

和员工模型

@Entity
public class Employee extends Model
{
    @Id
    public …
Run Code Online (Sandbox Code Playgroud)

java ebean

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

我应该在什么情况下使用Ebean或EbeanServer?

我知道我可以使用EbeanEbeanServer访问数据库.EbeanServer有比Ebean更多的API方法,Ebean上的许多方法Ebean.find(Class)等实际上只是在'default/primary'EbeanServer上调用方法的一种方便方法.

我的问题:

  • 我可以通过调用Ebean.getServer(String name)使用EbeanServer提供的所有apis来获取EbeanServer对象吗?
  • 在什么情况下我应该使用Ebean而不是EbeanServer(反之亦然)?
  • EbeanServer是否适合以编程方式创建EbeanServer?
  • Ebean适合通过配置文件创建EbeanServer吗?

在Play 2.4中,不需要ebean.properties,ebean配置可以放在application.conf中,我想我应该在Play framwork 2.4中使用Ebean,对吧?

谢谢你的建议.

EbeanServer api doc

Ebean api doc

playframework ebean

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

Play Framework数据库搜索

我的项目中有一个模型类"Journey",它有几种删除,创建和列出所有旅程的方法.我正在使用heroku和postgresql数据库.我需要编写一个方法,它将返回所有具有与指定地址类似的地址的旅程.我知道查询结构通常是类似的SELECT address FROM Journey WHERE address ~~ arguement但我不知道在play框架中有什么功能可以做到这一点.

*public static void search(String address){
//query
//return matching journey results
}*
Run Code Online (Sandbox Code Playgroud)

java ebean playframework-2.0

2
推荐指数
1
解决办法
8391
查看次数

play框架中同一个实体类的一对多

美好的一天!我总是得到一个错误,以保存我的实体模型

Error inserting bean [class models.CategoryEntity] with unidirectional relationship. For inserts you must use cascade save on the master bean [class models.CategoryEntity].]
Run Code Online (Sandbox Code Playgroud)

在这里我的课

@Entity
public class CategoryEntity extends Model {
    @Id
    private String categoryId;

    private String Name;
    private Integer level;

    @OneToMany(targetEntity = CategoryEntity.class, cascade = CascadeType.ALL)
    private List<CategoryEntity> categories;
//GETERS SETRES
}
Run Code Online (Sandbox Code Playgroud)

我试图保存标题类别,但错误是相同的

java playframework ebean playframework-2.0 playframework-2.1

2
推荐指数
1
解决办法
1977
查看次数

在PlayFramework 2/Ebean ORM中使用@OneToOne,其中子级和父级共享相同的主键

有两种型号:

车型/ User.java

@Entity
@Table(name="users")
public class User extends Model
{
    @Id
    public int user_id;
    public String firstName;
    public String lastName;

    @OneToOne
    @PrimaryKeyJoinColumn
    public UserProfile profile;

    public static Finder<Integer,User> find = new Finder<Integer,User>( Integer.class, User.class );
}
Run Code Online (Sandbox Code Playgroud)

车型/ UserProfile.java

@Entity
@Table(name="user_profiles")
public class UserProfile extends Model
{
    @Id
    public int user_id;
    public String bio;

    @OneToOne(mappedBy = "user_id")
    public User user;

    public static Finder<Integer,UserProfile> find = new Finder<Integer,UserProfile>( Integer.class, UserProfile.class );
}
Run Code Online (Sandbox Code Playgroud)

一些数据:

INSERT INTO users VALUES(1,"Joe","Bloh");
INSERT INTO users VALUES(2,"Maria","Luis"); …
Run Code Online (Sandbox Code Playgroud)

orm jpa one-to-one playframework ebean

2
推荐指数
1
解决办法
5840
查看次数

Play Framework中是否有针对Ebean的@NotNull注释?

我希望Play Framework中的Ebean在我的表中创建一些列'not null'.是否有可能@NotNull注释?如果是,我应该导入哪个包?我尝试过,import com.avaje.ebean.validation.NotNull;但我得到一个错误,说无法找到此包.

java annotations jpa playframework ebean

2
推荐指数
1
解决办法
2835
查看次数

如何使用Playframework 2/Ebean执行SQL批量删除?

我需要根据一些标准从表中删除一些行.SQL查询应该是这样的:

DELETE FROM tablename WHERE cond1 = 1 AND cond2 = 2
Run Code Online (Sandbox Code Playgroud)

但我发现没有这样的方法.我可以删除一个模型:

model.delete();
Run Code Online (Sandbox Code Playgroud)

或者我可以获得符合给定标准的模型列表:

Model.FINDER.where().eq("cond1", 1).eq("cond2", 2).findList();
Run Code Online (Sandbox Code Playgroud)

当然,我可以获得模型列表并在循环中删除它们,但这是非常糟糕的解决方案.我没有获得一个SQL请求,而是获得了无限的SQL请求.我也不想执行原始SQL代码,因为它可以破坏SQL跨平台兼容性.

这经常是一项任务.Play Framework是否无法使用它?

ebean playframework-2.0 playframework-2.2

2
推荐指数
1
解决办法
2268
查看次数

在PlayFramework 2.2.2上升级Ebean

Ebean自从我开始使用以来,我一直在度过一段难过的时光Play Framework.

Ebean刚刚修复了一个影响我的bug,但似乎修复程序在上次部署Play时没有被选中,这是我已经更新的v2.2.2.

可以在我的实例中手动升级Ebean吗?

java playframework ebean playframework-2.2

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