One way is to use EJB 3, which replaces xdoclet with
Java 5 annotations!
However, since EJB3 isn't mainstream yet, the simple answer is: XDoclet. You
can generate all the support stuff manually. Or you can use a tool like my EJBWizard program, which I developed before I becames friends with XDoclet (although the EJBWizard also provides a GUI reverse-engineer from existing schema, so the uses are a little different).
However, no matter which way you go, the same files have to be created in the long run. While you can create each one of them manually, that's a tedious process and relatively minor errors can cause the EJB to not function properly. So I recommend using a tool, and XDoclet is one of the best for that purpose.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.