小编use*_*521的帖子

Play Framework 2.1:在Build.scala中使用play.api.Configuration

在顶部的回答播放框架2:阅读Build.scala定义的应用程序版本,它的建议,应用程序版本号中规定conf/application.conf,并在加载Build.scala通过play.api.Configuration.我正在使用Play 2.1-RC2并在构建时收到以下错误消息:

[error] [...]/project/Build.scala:7: object Configuration is not a member of package play.api 
[error] val conf = play.api.Configuration.load(new File("."))
Run Code Online (Sandbox Code Playgroud)

我认为这可能是因为Play 2.1构建依赖项必须被指定为SBT的插件,而play.api.Configuration不是Play的SBT插件的一部分.我猜我必须包含Play的核心库project/plugins.sbt,但我还没弄清楚如何.有任何想法吗?

(注意:如果我有足够的重复点,本来可以在原始问题中做出评论)

java version playframework-2.1

12
推荐指数
1
解决办法
5686
查看次数

Play + Ebean + JPA:在OneToOne映射上级联删除

这与这个问题有关,但下面的例子较短,所以我认为另一个问题是有道理的.

我有两个实体,A和B,一对一的关系.对于A,B是可选的,并且每个B必须具有A.我想级联从A到B的删除.这是我的第一次尝试:

@Entity
public class A extends Model {

    @Id
    private Long id;

    @OneToOne(optional = true, mappedBy = "a", cascade = CascadeType.REMOVE, orphanRemoval = true)
    private B b;

}

@Entity
public class B extends Model {

    @Id
    private Long id;

    @OneToOne(optional = false)
    private A a;

}
Run Code Online (Sandbox Code Playgroud)

但是,似乎Ebean忽略了"可选"注释,因为当我为ID为1的已保存A执行查找时,将执行以下SQL:

select t0.id c0, t1.id c1 
from a t0
join b t1 on t1.a_id = t0.id 
where t0.id = 1  
Run Code Online (Sandbox Code Playgroud)

换句话说,它执行内部而不是左连接,这导致查找失败,当没有关联B.我尝试了各种组合@JoinColumn,等等无济于事.我发现的唯一令人满意的解决方法是将A-to-B模型化为"假的"一对多关系.有更好的解决方案吗?这是一个错误还是Ebean已知/明确的限制?

java one-to-one jpa-2.0 ebean playframework-2.1

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

标签 统计

java ×2

playframework-2.1 ×2

ebean ×1

jpa-2.0 ×1

one-to-one ×1

version ×1