No it is not. You can go from the outside in, the inside out, or meet in the middle.
I have known people who defined the schema strictly from ORM annotations and used Hibernate's ability to instantiate tables on startup. For myself, I usually inherit an existing database, so I have to reverse-engineer at the beginning. Traditionally I've used OpenJPA's tools for that, but that's because before JPA was a standard I worked with Kodo JDO and the OpenJPA tools are descended from the JDO tools, so I'm comfortable with them.
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.