我有一个ExceptionMapper使用RESTeasy 2.0.1.GA在JAX-RS中使用的场景.这很好用.
我现在想用RESTeasy的模拟机制来测试整个事情.不幸的是我的ExceptionMapper-provider没有注册.我错过了什么?
POJOResourceFactory factory = new POJOResourceFactory(SomeWebResource.class);
Dispatcher dispatcher = MockDispatcherFactory.createDispatcher();
dispatcher.getRegistry().addResourceFactory(factory);
MockHttpRequest request = MockHttpRequest.get("url");
MockHttpResponse response = new MockHttpResponse();
// here my exception is thrown
dispatcher.invoke(request, response);
// but I expect the response to be 404 (which works outside the mock setup)
Assert.assertEquals(response.getStatus(), 404);
Run Code Online (Sandbox Code Playgroud) 我有两个实体(Dataset和Item),第一个实体包含后者的列表.
@Entity
class Dataset {
@Id long id;
List<Item> items;
}
@Entity
class Item {
@Id long id;
@Temporal Date date;
String someCriteria;
}
Run Code Online (Sandbox Code Playgroud)
现在我期待的任何数据集,这与引用的项目someCriteria ="X"作为最古老的项目中数据集的列表(它的日期是在此之前,此数据集所引用的所有其他人的).
这应该与JPA-2.0的Criteria API一起使用,但作为SQL查询的答案也可以.
这就是它现在的样子:
Subquery<Item> _subquery = p_criteria.subquery(Item.class);
Root<Item> _itemRoot = _subquery.from(Item.class);
_subquery.select(_itemRoot);
// correlate
_subquery.correlate(_datsetRoot);
// type check
Predicate _typeP = p_builder.equal(_itemRoot.get(Item_.someCriteria), "x");
<additional predicates>
...
// reference check
_subquery.where(_typeP);
return p_builder.exists(_subquery);
Run Code Online (Sandbox Code Playgroud)
我想创建子查询,按日期排序并检查第一个子查询.不幸的是,JPA-2.0不允许在子查询(或连接)中进行排序(据我所见).我的第二个想法是获取MAX(date),大多数数据库应该支持这个想法.同样如此,支持MAX,ABS,......仅适用于数字.
编辑:使用一个已排序的子查询,它看起来像这样(MSSQL):
SELECT d.id
FROM Dataset d
WHERE EXISTS …Run Code Online (Sandbox Code Playgroud) 我有一个实体A,B extends A并尝试使用联接继承策略进行软删除.
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@SQLDelete("UPDATE A SET deleted = 1 WHERE id = ?")
A {
@Id long id;
boolean deleted;
}
@Entity
B extends A {}
Run Code Online (Sandbox Code Playgroud)
似乎Hibernate正确地将表设置A为deleted = 1,但也删除了表中的整个条目B.当然,我想保留这个条目.
有什么想法吗?
我正在使用Hibernate 3.5.5和基于注释的实体定义.尝试了Hibernate 3.6.2.
hibernate ×3
java ×3
criteria-api ×1
jax-rs ×1
jpa ×1
jpa-2.0 ×1
mocking ×1
orm ×1
resteasy ×1
soft-delete ×1
spring ×1
unit-testing ×1