O Hibernate pode detectar automaticamente o tipo do elemento se você usar coleções genéricas. Se não, é necessário identificar o tipo do elemento com o atributo "targetElement":
@org.hibernate.annotations.CollectionOfElements( targetElement = java.lang.String.class )
Para persistir os valores de sua lista, é necessário criar uma nova tabela no banco. A tabela que será criada, no exemplo abaixo, terá o nome de "CirurgiasPrevias" e possuirá um campo de chave estrangeira chamada "cdCirurgiasPrevias" (definido pelo @JoinColumn) e terá um campo chamado "cirurgiasPrevias" (definido pelo @Column).
@CollectionOfElements(fetch=FetchType.LAZY) @JoinTable( name = "CirurgiasPrevias", joinColumns = @JoinColumn(name = "cdCirurgiasPrevias") ) @Column(name = "cirurgiasPrevias") private List<string> cirurgiasPrevias;
O exemplo acima foi baseado no livro "Java Persistence with Hibernate". Que pode ser baixado na integra aqui.
Palavras chave: Hibernate, Annotations, List