Recherche de données à l'aide d'un bean d'accès
Vous utiliserez les beans d'accès dans votre logique métier lorsque vous souhaitez trouver des données dans la base de données HCL Commerce. Dans un bean d'accès, vous devez sélectionner l'enregistrement de base de données approprié à l'aide de la clé primaire ou d'une méthode de recherche.
Recherche de données par clé primaire
L'extrait de code suivant montre comment sélectionner à l'aide d'une clé primaire.
La première ligne de l'extrait de code suivant instancie un nouvel UserProfileAccessBean qui s'appelle "abUserProfile". La deuxième ligne définit la clé principale du bean d'accès. La convention de dénomination setInitKey_ xxx (où xxx est le nom de champ de clé primaire) est utilisée par HCL Commerce Developer pour nommer les méthodes définies pour les clés primaires.
//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();Quand utiliser instantiateEntity()
Utilisez la méthode instantiateEntity pour récupérer des informations à partir de la base de données et remplir le bean d'accès. Vous n'avez pas besoin d'utiliser le instantiateEntity() si vous utilisez une méthode getter pour récupérer des données spécifiques à partir du bean d'accès. Vous n'avez qu'à l'utiliser pour indiquer explicitement au bean d'accès de se remplir, par exemple, pour vérifier si les données que vous recherchez existent, ou pour remplir un objet avant de le transmettre à une autre méthode.
//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();
Recherche de données à l'aide d'une méthode de recherche
Les beans d'accès peuvent également fournir des méthodes spécifiques de recherche pour les opérations de "recherche" dont il a généralement besoin. Ces méthodes vous renvoient une énumération des beans d'accès qui correspondent aux critères de recherche. Si des enregistrements sont trouvés, il y aura un ou plusieurs beans d'accès dans l'énumération. Si le résultat de recherche est vide, la méthode de recherche lancera javax.persistence.NoResultException.
AddressAccessBean abAddress = new AddressAccessBean().findByNickname("nickname", new Long("10001"));
Où nickname est le terme de recherche utilisé pour l'alias.