Yes; I do it. Don't think of it as parent->children. Think of it as child->parent, unidirectional. That way, it's easy to look upward to get the parent. Now, to get the children, using an ejb-ql finder that finds all children with a parent of the id.