Oracle interview question

How would you design a system like Hibernate?