2010-09-23 9 views
0

J'ai eu l'occasion de retravailler une bonne partie des anciens scripts Perl mal entretenus d'une bibliothèque de département dans une version plus récente de Java, qui devrait être plus facile à maintenir. À l'origine, cette bibliothèque faisait un certain nombre de choses relatives à notre instance Active Directory, notamment la recherche et la génération de rapports sur les nouveaux utilisateurs, le suivi des utilisateurs connus, etc.Hibernate - Charger un enregistrement à partir d'un champ arbitraire

La fonctionnalité suivante à répliquer est la capacité pour stocker des informations utilisateur simples dans une base de données - des choses comme les noms, les identifiants des employés et les noms de compte, rien de trop complexe. Parce que je n'apprécie généralement pas JDBC, et j'ai eu l'occasion d'élargir un peu mes horizons, alors j'ai décidé de me lancer sur Hibernate. Je sais que c'est très probablement exagéré pour ce que je fais avec cette application, mais j'ai pensé que c'était une bonne opportunité d'apprentissage.

Le problème que j'ai est assez simple. J'ai créé de nouveaux objets persistants, ce n'est pas une sueur. Lorsque je rencontre un ralentissement, je récupère ces objets de la base de données en utilisant Hibernate. Je peux charger la classe par son ID intégré, mais je ne vois pas d'option pour charger quoi que ce soit d'autre, et il va sans dire qu'il n'y a pas d'option pour enregistrer l'ID utilisateur de la base de données dans AD lui-même. Je me demande si quelqu'un peut fournir un aperçu de la façon de charger des utilisateurs déjà vus de la base de données sans l'ID utilisateur; un tutoriel ou un lien serait bien. J'ai essayé de lire la documentation d'Hibernate elle-même, mais elle est massive, et la grande majorité ne s'applique pas à ce que je suis en train de faire.

Merci.

Répondre

1

Votre meilleur pari est de lire la section 10.4 du guide de référence Hibernate sur les requêtes HQL. Bien que vous puissiez utiliser l'API Hibernate Criteria pour formuler des requêtes, HQL est probablement le plus facile à saisir à mon humble avis. En un mot, vous pouvez formuler des requêtes en utilisant la Session Hibernate et en utilisant les attributs de l'objet persistant pour les critères de restriction.

+0

Merci pour l'aide, Tim; c'est exactement ce dont j'avais besoin. Je suis sûr que j'aurais fini par avoir cette partie de la documentation, mais tu m'as sauvé un peu de temps. – EricBoersma

Questions connexes