Búsqueda de datos utilizando un bean de acceso
Utilizará beans de acceso en la lógica de negocio cuando desee buscar datos en la base de datos de HCL Commerce. En un bean de acceso, debe seleccionar el registro de base de datos adecuado utilizando la clave primaria o un método buscador.
Búsqueda de datos por clave primaria
El siguiente fragmento de código demuestra cómo seleccionar utilizando una clave primaria.
La primera línea del fragmento de código siguiente crea una instancia de un UserProfileAccessBean nuevo que se llama "abUserProfile". La segunda línea establece la clave primaria en el bean de acceso. HCL Commerce utiliza el convenio de denominación setInitKey_ xxx
(donde xxx
es el nombre del campo de clave primaria) para dar nombre a los métodos set para las claves primarias.
//create a new access bean
UserProfileAccessBean abUserProfile = new UserProfileAccessBean();
// set the primary key
abUserProfile.setInitKey_UserId(getUserId().toString());
//call getter to get the DisplayName. This will also fully populate the access bean with data.
String myDisplayName = abUserProfile.getDisplayName();
Cuándo utilizar instantiateEntity()
Utilice el método instantiateEntity para recuperar información de la base de datos y llenar el bean de acceso. No es necesario utilizar instantiateEntity() si utiliza un método getter para recuperar datos específicos del bean de acceso. Solo es necesario utilizarlo para indicar de forma explícita al bean de acceso que se llene automáticamente, por ejemplo, para comprobar si los datos que está buscando existen, o para llenar un objeto antes de pasarlo a otro método.
//Create a new access bean
UserProfileAccessBean abUserProfile = new UserProfileAccessBean();
//Set the primary key
abUserProfile.setInitKey_UserId(getUserId().toString());
//Call instantiateEntity to populate it with data
abUserProfile.instantiateEntity();
Búsqueda de datos utilizando un método buscador
Los beans de acceso también pueden proporcionar métodos de búsqueda para operaciones "find" que se necesitan a menudo. Estos métodos le devolverán una enumeración de beans de acceso que coinciden con los criterios de búsqueda. Si se encuentran registros, habrá uno o más beans de acceso en la enumeración. Si el resultado del buscador esta vacío, el método buscador generará javax.persistence.NoResultException
.
AddressAccessBean abAddress = new AddressAccessBean().findByNickname("nickname", new Long("10001"));
Donde nickname es el término de búsqueda que se utiliza para el apodo.