Mapear list da propria entidade

Senhores, sou muito novato ainda e talvez nem esteja no caminho certo. Mas vai ai a questão.

Estou desenvolvendo um sistema para uso aqui onde trabalho para ganhar experiência em java, e confesso que ainda sou fraco tambem em sql.
Neste sistema tenho um caso de estoque em que uma peça pode estar em um endereço, que pode estar em uma de algumas salas, que pode estar em uma estante/gaveteiro/e/ou area(quando muito grande), ou seja, não tenho certeza de quantos subníveis posso ter em cada ocasião. então criei uma entidade assim:

@Id
@GeneratedValue
@Column(name=“id_posicao”)
private Integer id_posicao;
@Column(name=“nome”)
private String nome;
@Column(name=“descricao”)
private String descricao;
@Column(name=“nivel”)
private String nivel;

private List<LogisticaPosicao> subposicoes;

Mas estou em duvida sobre como mapear a list e se isto está correto.

E acho que terei que usar um caso parecido, em arvore de produto, onde um equipamento possui varios modulos, que possui varias peças.

Agradeço qualquer sugestão.

Procure sobre relacionamento oneToMany, manyToOne ou manyToMany. Dessa forma vc poderá mapear sua lista de acordo com o seu modelo.

Aqui tem info
http://uaihebert.com/?p=1622