След като се борих с това през последните няколко часа, най-накрая го накарах да работи в моя проект. Това, което направих, беше следното:
ControlRule
@OneToMany(fetch = FetchType.LAZY, mappedBy = "controlRuleAttribPK.controlRuleId")
@Cascade(CascadeType.ALL)
private List<ControlRuleAttrib> controlRuleAttribs;
По принцип се посочва, че колекцията трябва да използва controlRuleId от съставен първичен ключ. Засега работи отлично!