Обходной путь, который работает для меня, - это создать дополнительный метод с @ OneToMany
@OneToMany(cascade={}, fetch=FetchType.EAGER, mappedBy="a")
public Set<B> getBSet() {};
@Transient
public B getB() { return b.iterator().next(); }
Я не очень доволен этим решением, но оно работает, и я не могу найти другой путь.