1
我使用的是hazelcast映射到存储对象非常类似以下内容:hazelcast不等于谓词搜索集合属性
@Entity
@Table(name = "organization")
public class Organization
{
public static final String MAP_NAME = "organizations";
@Id
@Column(name = "organizationId", unique = true, nullable = false, columnDefinition = "VARCHAR(36)")
protected String organizationId = UUID.randomUUID().toString();
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinColumn(name = "organizationId")
private Set<RecordKeeperConfig> recordKeeperConfigs;
}
而且RecordKeeperConfig的定义如下:
@Entity
@Table(name = "recordKeeperConfig")
public class RecordKeeperConfig
{
public static final String MAP_NAME = "recordKeeperConfig";
@Id
@Column(name = "recordKeeperConfigId", unique = true, nullable = false, columnDefinition = "VARCHAR(36)")
protected String recordKeeperConfigId = UUID.randomUUID().toString();
@Column(name = "organizationId", columnDefinition = "VARCHAR(36)")
protected String organizationId;
@Enumerated(EnumType.STRING)
@Column(name = "type", length = 8)
protected RecordKeeperType type;
}
最后,我想获取至少有一个RecordKeeperConfig的所有组织对象的集合。我试着用Predicate.notEqual(“recordKeeperConfigs”,NULL),但它产生了以下异常:
java.lang.IllegalArgumentException: Cannot use NotEqualPredicate predicate with an array or a collection attribute