Entités Hibernate sans tables sous-jacentes
J'ai vraiment laid héritage système de base de données que j'ai besoin d'intégrer des avec. En fait, j'ai fais une lecture seulement les rapports sur le système, et je ne veux pas configurer un millier d'entités représentant chacun des tableaux que je suis en train de travailler sur. Au lieu de cela, je voudrais simplement définir une Entité pour chaque rapport-types que je génère (essentiellement de l'union d'un ensemble de colonnes de différentes tables), puis laisser hibernate carte du méchant (beaucoup ont rejoint, de nombreux réunies) requête sql pour une liste de ces entités.
La question est: puis-je créer une entité qui ne dispose pas d'une table sous-jacente, et d'utiliser une instruction sql pour remplir une liste de ces entités?
Merci!
source d'informationauteur idbentley | 2011-11-03
Vous devez vous connecter pour publier un commentaire.
Nous faire ce genre de chose tout le temps et voici comment nous procédons:
Définir un simple haricot-comme l'objet à représenter chaque ligne de sortie dans votre rapport:
Définir un fichier de mapping hibernate, CityStateRevneueReport.hbm.xml:
Puis exécutez la requête et de remplir les instances:
Utiliser une Entité de requête:
http://docs.jboss.org/hibernate/core/3.3/reference/en/html/querysql.html#d0e13696
Ou créer une vue dans la base de données et la carte contre.
Voici un long tutoriel en utilisant addEntity:
http://timezra.blogspot.com/2009/05/mapping-hibernate-entities-to-views.html
Si vous êtes libre de choisir le mode veille prolongée ou pas, je vous suggère de prendre un coup d'oeil à Spring JDBC. il est plus léger que la mise en veille prolongée et le droit de l'emploi. Avec vos exigences, il conviendra parfaitement dans l'image.