我有一个BigDecimal数字,我只考虑它的2位小数,所以我截断它使用:
bd = bd.setScale(2, BigDecimal.ROUND_DOWN)
Run Code Online (Sandbox Code Playgroud)
现在我想将它打印为String但是如果它是0则删除小数部分,例如:
1.00 - > 1
1.50 - > 1.5
1.99 - > 1.99
我尝试使用Formatter,formatter.format,但我总是得到2位小数.
我怎样才能做到这一点?也许从bd.toPlainString()处理字符串?
如何在表中创建一个具有整数值的列(当我插入一行时从 0 开始),每次更新一行时该列都会增加 1?
我需要它来使用它作为乐观锁定。
谢谢。
我无法使用groovy通过logback.groovy配置的logback.
如果在一个目录中我有一个脚本文件调用例如FooBar.groovy和文件logback.groovy当我运行groovy FooBar.groovy groovy尝试编译logback配置文件而且我的脚本不起作用时,我必须回退到 默认的xml配置用于logback的文件(logback.xml).
我怎样才能使这个工作?我可以调用groovy somefiles.groovy 并配置groovy来忽略logback.groovy吗?
谢谢您的帮助
我找不到关于它的官方网站,只是一个指向http://swingx.dev.java.net/的 github 存储库 ( https://github.com/tmyroadctfig/swingx )不存在任何而且,所有链接都指向java.net。
这个项目的现状如何?弃?死的?有我找不到的新家吗?
我有这个脚本:
def person = new Person(lastName: "foo", firstName: "bar")
println person
@groovy.transform.TupleConstructor
@groovy.transform.ToString(includeNames = true, includeFields=true)
class Person
{
def lastName
def firstName
}
Run Code Online (Sandbox Code Playgroud)
为什么它给了我:
Person(lastName:[lastName:foo, firstName:bar], firstName:null)
Run Code Online (Sandbox Code Playgroud)
为什么firstName保持为null并且lastName具有参数的映射?
我正在使用groovy 1.8.6
我有这个查询:
Field<String> yearMonth = DSL.field("FORMATDATETIME({0}, 'yyyy-MM')",
String.class, LICENZE.CREATION_DATE).as("anno_mese");
List<Record3<Integer, String, String>> records =
create.select(DSL.count().as("num_licenze"), LICENZE.EDIZIONE, yearMonth).
from(LICENZE).
groupBy(LICENZE.EDIZIONE, yearMonth).
orderBy(yearMonth).
fetch();
Run Code Online (Sandbox Code Playgroud)
此查询生成:
select
count(*) "num_licenze",
"PUBLIC"."LICENZE"."EDIZIONE",
FORMATDATETIME("PUBLIC"."LICENZE"."CREATION_DATE", 'yyyy-MM') "anno_mese"
from "PUBLIC"."LICENZE"
group by
"PUBLIC"."LICENZE"."EDIZIONE",
"anno_mese"
order by "anno_mese" asc
Run Code Online (Sandbox Code Playgroud)
执行它我得到: Column "anno_mese" not found; SQL statement
测试生成的查询并从anno_mese查询的每个部分中删除引号使查询工作。
我的查询是错误的还是我以错误的方式使用了 jooq?
这个查询中的别名不是那么重要,我可以不使用它来运行查询,但只是为了了解它是如何工作的。我使用 h2 作为数据库。
谢谢您的帮助
我需要使用hibernate在数据库中插入大量数据,我正在查看来自hibernate的批量插入,我使用的是类似于手册中的示例:
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
for ( int i=0; i<100000; i++ ) {
Customer customer = new Customer(.....);
session.save(customer);
if ( i % 20 == 0 ) { //20, same as the JDBC batch size
//flush a batch of inserts and release memory:
session.flush();
session.clear();
}
}
tx.commit();
session.close();
Run Code Online (Sandbox Code Playgroud)
但我发现flush不会在数据库上写入数据.阅读它,如果代码在事务中,那么在事务执行提交之前不会将任何内容提交给数据库.
那么需要使用flush/clear是什么?似乎没用,如果数据没有写在数据库上,那么它们就在内存中.
我如何强制hibernate在数据库中写入数据?
谢谢
我有一份清单java.io.File。我想强制这个列表是唯一的。
将它们放入 HashSet 中是否正确?喜欢:
List<File> list = ...
List<File> newList = new ArrayList<File>(new HashSet<File>(list))
Run Code Online (Sandbox Code Playgroud)
或者有更好的方法吗?
例如,如果我有一个使用的视图
@CssImport(value = "somefile.css")
Run Code Online (Sandbox Code Playgroud)
与somefile.css定义类似
.test-foobar {
color: green
}
Run Code Online (Sandbox Code Playgroud)
我可以.addClassName("test-foobar")在任何视图/类中的任何组件中使用,即使该类没有用@CssImport(value = "somefile.css").
就像一旦定义了它就@CssImport对所有视图都是全局可用的。
除了在每个组件的类文件中硬编码 css 定义之外,您还可以在刚刚导入并用于用 注释的视图的文件中定义 css 规则吗@CssImport?
PS 我现在使用的是 vaadin 14,但是如果 23+ 中的情况有所不同,可以提供信息,只是为了知道它是如何工作的。
我有2个测试类:
Class A{
B b;
// some other properties
}
Class B{
// some properties
}
Run Code Online (Sandbox Code Playgroud)
A的每个实例只有一个B类实例,但B类实例可以分配给A类的多个实例
喜欢 :
B b = new B();
A a1 = new A();
a1.setB(b);
A a2 = new A();
a2.setB(b);
Run Code Online (Sandbox Code Playgroud)
这是什么类型的关联?
起初我在思考一对一的单向但可能是多对一的?但我在B上没有任何A对象的集合.
有人可以解释一下实现这种关联的正确方法是什么(使用注释)?
java ×6
groovy ×3
hibernate ×2
associations ×1
bigdecimal ×1
collections ×1
duplicates ×1
file ×1
formatting ×1
h2 ×1
jooq ×1
jpa ×1
logback ×1
null ×1
postgresql ×1
sql ×1
swing ×1
swingx ×1
transactions ×1
vaadin ×1
vaadin-flow ×1