Q: I am new to OJB. I wonder if OJB has something like Hibernate's component mapping, which makes code structure better and reuse easier.
A: Yes that's possible with OJB too! If your class has an attribute "address" of type Adress, the mapping for the "street" attribute of "address" would look like follows:
<field-descriptor name="adress::street" column="ADR_STREET" jdbc-type="VARCHAR" />