我有一些BigDecimal值,应该为搜索索引.Lucene有NumericField,但它只有long,double,float和int的setter.我可以将它存储为String但我不会受益于NumericRangeQuery.
你如何存储你的BigDecimals?分享的最佳做法是什么?
我有两个班,用户和汽车.两者都有ManyToMany相互映射.
用户:
@Entity
public class User extends Model {
private int year;
@ManyToMany(cascade=CascadeType.ALL)
private List<Car> cars;
}
Run Code Online (Sandbox Code Playgroud)
汽车:
@Entity
public class Car extends Model {
@ManyToMany(mappedBy = "cars", cascade=CascadeType.ALL )
private List<User> users;
}
Run Code Online (Sandbox Code Playgroud)
使用ebean,我只想查询1999年那些在其列表中提供用户的汽车.我不想在Java代码中迭代用户的汽车列表.
我没有找到任何文档,多少对多的查询应该是什么样子.所以我会这样:
public List<Car> findCars(int year, User user) {
return Car.find.where().eq("year", int).eq("users", user).findList();
}
Run Code Online (Sandbox Code Playgroud)
这可能与Ebean有关吗?
我们有一个基于Java的CMS,它有服务器端JS的Mozilla Rhino.目前JS代码库很小但正在增长.在为时已晚并且代码变得非常混乱之前,我想介绍一些最佳实践和编码风格.
显然,名称空间控制非常重要.但其他最佳实践如何 - 尤其是Java程序员?
我们在JBoss 5.1.0.GA应用程序中有一个定时器服务触发任务,问题是我们无法改变事务超时.这个长Lucene索引可能需要比默认的300秒限制更长的时间.
问题是如何更改超时值,将@TransactionTimeout(1800)添加到worker方法或类没有任何效果.
编辑:在deploy/transaction-jboss-beans.xml中设置此工作正常:
<property name="transactionTimeout">1800</property>
Run Code Online (Sandbox Code Playgroud)
但是注释似乎对定时器启动的或正常的无状态EJB没有影响.
我有一个JPQL查询,可以正常使用MySQL和SQL Server.但是随着Oracle的失败
ORA-00932: inconsistent datatypes: expected - got CLOB
Run Code Online (Sandbox Code Playgroud)
原因似乎是Oracle不支持带CLOB列的ORDER BY.
有没有JPQL解决这个问题?
当前的应用程序使用Simple Java Mail每天发送几封电子邮件,但有些电子邮件永远不会发送给客户端.
根据应用程序服务器日志,已经有几个邮件服务器超时但这并不能解释所有丢失的电子邮件的情况.添加重试功能有助于解决超时问题,但是有没有其他方法可以提高电子邮件的可靠性?
在这个例子中com.test.Cat延伸com.test.Animal并没有场DB中CAT的表com.test.Cat显式定义它的类型(那不是我).
当我从DB查询我的动物时,我得到了一组动物.
可以按类名对它们进行排序:
order by r.class
Run Code Online (Sandbox Code Playgroud)
但有没有办法使用类名作为标准?例如,我想让所有动物都期待狗.但没有运气 - 即使这不起作用:
where r.class = ? (String "ccc.test.Cat")
Run Code Online (Sandbox Code Playgroud)
因为我得到一个例外:
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
at org.hibernate.type.IntegerType.set(IntegerType.java:64)
at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:154)
at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:136)
at org.hibernate.param.PositionalParameterSpecification.bind(PositionalParameterSpecification.java:62)
at org.hibernate.loader.hql.QueryLoader.bindParameterValues(QueryLoader.java:514)
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1589)
at org.hibernate.loader.Loader.doQuery(Loader.java:696)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
at org.hibernate.loader.Loader.doList(Loader.java:2228)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125)
at org.hibernate.loader.Loader.list(Loader.java:2120)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:401)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:361)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1148)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:67)
Run Code Online (Sandbox Code Playgroud) 我在一些来源中看到过.text后缀提到的这个应用程序/ plain .它有效并且在任何地方使用过吗?或者这只是一个人编译列表而其他人只是复制它的情况?
我们有一个工作流程,其中承诺代码需要由其他开发人员审查.在简单的情况下,这可以通过"git diff oldhash newhash> diff.txt"完成,并将其上传到我们的审查委员会.
但有没有办法在多个提交中创建差异,并排除其他人之间完成的提交.例如,我想在mine1上创建diff到mine4,但不包括Joe的提交:
mine4
mine3
joe's
mine2
mine1
Run Code Online (Sandbox Code Playgroud)
任何想法如何在命令行git或其他工具中执行此操作?
其他人提交的提交会影响与我的提交不同的文件,因此在这种情况下,它只是排除其他人所做的更改.
昨天我们在我们当地的JUG上有一个Play 2.0演示,但我们无法弄清楚是否有可能有本地化的URL(用于SEO目的).
例如/ help,/ hilfe等应该指向同一个控制器,但应该使用不同的语言内容呈现模板.
在Play 2.0中有什么办法吗?
java ×4
hibernate ×2
bigdecimal ×1
coding-style ×1
diff ×1
ebean ×1
ejb-3.0 ×1
email ×1
git ×1
indexing ×1
javascript ×1
jboss ×1
jboss5.x ×1
jpa ×1
jpql ×1
lucene ×1
many-to-many ×1
mime ×1
mime-types ×1
ora-00932 ×1
oracle ×1
orm ×1
reliability ×1
rhino ×1
seo ×1
text ×1
timeout ×1
transactions ×1
url ×1