我有两个休眠映射实体A和B.
A有2个实体B的集合,我想根据B中保存的属性过滤每个集合(如下面的代码所示).
@FilterDefs()
class A{
@OneToMany(mappedBy = "productType", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@Filter(name = "something", condition = "entityType = 'SKU1'")
Set<B> set1 = new HashSet<B>();
@OneToMany(mappedBy = "productType", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@Filter(name = "something", condition = "entityType = 'SKU2'")
Set<B> set2 = new HashSet<B>();
}
class B{
@ManyToOne(cascade = CascadeType.ALL)
private A productType;
@Column(name = "entity_type")
@Enumerated(EnumType.STRING)
private EntityType entityType;
}
Run Code Online (Sandbox Code Playgroud)
编辑:我正在我的DAO方法中启用下面建议的过滤器.但是,我收到以下异常
org.hibernate.exception.SQLGrammarException:无法初始化集合
如果我使用急切的加载方法,我得到一个例外,无法生成无效的SQL?
有什么指针吗?
我有一个用于端点的简单线模存根。调用此存根的库期望响应中存在 cookie。是否有一种简单的方法可以在线模拟配置的响应中提供 cookie
存根端点的示例代码:
stubFor(post(urlPathEqualTo("/endpoint"))
.willReturn(aResponse()
.withStatus(OK.getStatusCode())
//with a cookie;
Run Code Online (Sandbox Code Playgroud)
这是可行的吗?我正在使用以下线模版本
<dependency>
<groupId>com.github.tomakehurst</groupId>
<artifactId>wiremock</artifactId>
<version>2.19.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)