I have a data transfer object User. Users have a couple of member variables, one is a ArrayList of enumerated types and another a HashMap<String, Integer>, whose data I would like to actually see in my database. At the moment, these variables are annotated with @ElementCollection which places them in their User rows as serialized object strings. That works but it isn't very normalized. I think there's a way to get the @OneToMany etc. annotations working with these collections but I'm sure how.