Tenga en cuenta que en realidad no estoy haciendo nada con una base de datos aquí, por lo que las herramientas ORM probablemente no sean lo que estoy buscando.¿Hay una colección Java (o similar) que se comporte como una tabla SQL de identificación automática?
Quiero tener algunos contenedores que contengan cada uno un número de objetos, con todos los objetos en un contenedor de la misma clase. El contenedor debe mostrar parte del comportamiento de una tabla de base de datos, a saber:
- permiten que uno de los campos del objeto se use como clave única, i. mi. otros objetos que tienen el mismo valor en ese campo no se agregan al contenedor.
- al aceptar un nuevo objeto, el contenedor debe emitir una identificación numérica que se devuelve a la persona que llama del método de inserción.
En lugar de arrojar un error cuando se solicita una "entrada duplicada", el contenedor debe omitir la inserción y devolver la clave del objeto ya existente.
Ahora, escribiría una clase de contenedor genérica que acepta objetos que implementan una interfaz para obtener el valor del campo de clave y utiliza un HashMap con esos valores como la clase de almacenamiento real. ¿Hay un mejor enfoque utilizando clases incorporadas existentes? Estaba mirando a través de HashSet y similares, pero no parecían encajar.
@Benjamin: códigos hash no se pueden utilizar como ID numéricos porque no son únicos. – CPerkins