为什么以下代码会引发下面显示的异常?
BigDecimal a = new BigDecimal("1.6");
BigDecimal b = new BigDecimal("9.2");
a.divide(b) // results in the following exception.
Run Code Online (Sandbox Code Playgroud)
-
java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.
Run Code Online (Sandbox Code Playgroud) 框架Lift,Play和Wicket有哪些优缺点?哪些特征最好或仅受每个特征支持?
谢谢
如何将Ant项目转换为Maven项目?一个可以链接的示例项目(Wicket项目)
谢谢
我有两个表之间的父/子关系,以及我的Java类中的相应映射.表大致如下:
A (ref number, stuff varchar2(4000))
B (a_ref number, other number, foo varchar2(200))
Run Code Online (Sandbox Code Playgroud)
和Java代码:
@Entity
class A {
@Id
@Column(name = "REF")
private int ref;
@OneToMany
@JoinColumn(name = "A_REF", referencedName = "REF")
private Set<B> bs;
}
@Entity
class B {
@Id
@Column(name = "A_REF")
private int aRef;
@Id
@Column(name = "OTHER")
private int other;
}
Run Code Online (Sandbox Code Playgroud)
这工作正常,但我想在从子表中检索的行上添加一个过滤器.生成的查询如下所示:
select a_ref, other, foo from B where a_ref = ?
Run Code Online (Sandbox Code Playgroud)
我希望它是:
select a_ref, other, foo from B where a_ref = ? and other = …Run Code Online (Sandbox Code Playgroud) 我试着在playframework+ scala+ 上写一个应用程序Angular JS.目的是创建一个Web应用程序,当JavaScript处于OFF状态或浏览器中为ON时,该应用程序可以正常工作.这是通常的要求,当一个人写一个公共站点(这应该是对人和谷歌的索引)
所以我最终写了大约50%的代码JavaScript,有两个(2)文件夹名为"controller" - 一个用于Scala代码,一个用于JS代码(因为AngularJS也使用控制器概念).
此外,由于JS代码应该使用Ajax调用,我不得不创建一个返回的scala-controller json,但不会html返回客户端的请求.而且......这一切我都不喜欢.这似乎太费劲了.
在playframework模板方面,我应该想到如何结合Scala使用JavaScript,传递参数从一种语言到另一种.使用一些技巧,如显示的是当JS会被处理,显示的是当它应该被关闭.
这一切都使我的模板不那么难以理解,有一天,当我拥有庞大的代码库时,我可能会想出一个复制模板的解决方案(js模板+ scala模板) - 在JS关闭/打开时使用正确的模板.那么JS代码的数量可能会增加到60%..
然后我似乎要复制一切,比如有两个不同的应用程序 - 谷歌和人.什么是常见的(仅)是我的数据本身在我的数据库中,我不必复制数据.但是......在那里我们可能会遇到与该数据格式不同的问题(并且很可能是基于json的[因为我不浪费处理器时间来进行表对象转换],而不是基于表的 - NoSQL ..然后我们再次像JS一样来到JS - 就像MongoDB一样,并且本身就JS与Json一起工作得非常好.
然后问,为什么不使用的100%,JS为简单的喜欢的东西:请求-响应,形成一个页面 …
我正在尝试使用Map作为我的一个模型属性的类型.我们以这两个类为例:
@Entity
public class Foo extends Model {
@OneToMany(mappedBy = "foo", cascade = CascadeType.ALL)
@MapKey(name = "name")
public Map<String, Bar> bars;
public String name;
}
@Entity
public class Bar extends Model {
@ManyToOne
public Foo foo;
public String name;
}
Run Code Online (Sandbox Code Playgroud)
当然非常简化,但这是基本的想法.所以我想要实现的是获取一个带有Bars作为值的地图,并将名称作为Foo的键.
现在我想利用Fixture从这个YAML文件加载一些数据:
Foo(foo1):
name: Foo1
Foo(foo2):
name: Foo2
Bar(bar1):
name: Bar1
foo: foo1
Bar(bar2):
name: Bar2
foo: foo1
Run Code Online (Sandbox Code Playgroud)
到目前为止没有任何问题,这就像一个魅力.现在,如果我尝试将bar2更改为foo: foo2,我会得到以下异常:
play.exceptions.JavaExecutionException: Cannot load fixture initial-data.yml: org.hibernate.HibernateException: Found two representations of same collection: models.Foo.bars
at play.jobs.Job.call(Job.java:166)
at Invocation.Job(Play!)
Caused …Run Code Online (Sandbox Code Playgroud)