2009-04-13 7 views
2

Je suis nouveau à hiberner et exigerait une clarification pour le problème ci-dessous.nouveau à Hibernate - doute

Mon application principale a des tables existantes que je veux utiliser pour une fonction optionnelle. Maintenant, j'ai besoin de récupérer des données d'une table existante et de traiter ces données. Ai-je besoin d'écrire un POJO séparé pour cette table? Je veux seulement 2 colonnes de ces tables.

Est-ce que toutes les tables de la base de données doivent également être mappées avec des POJO?

S'il vous plaît préciser

concernant

Répondre

3

Vous ne devez écrire POJO pour les tables que vous allez utiliser. Si une table est connectée à une autre via une clé étrangère, vous devez inclure les deux. Ce n'est pas une grosse affaire - vous pouvez utiliser Hibernate Tools pour faire ce travail pour vous. Pour une base de données existante, ils peuvent créer les fichiers de configuration Java et xml nécessaires. C'est idéal, si vous venez de commencer avec Hibernate. Générez automatiquement les fichiers, puis consultez-les pour comprendre comment vous pouvez écrire les vôtres.

Dans un tableau unique, vous pouvez omettre certaines colonnes, si vous n'en avez pas besoin. Cependant, vous devez inclure des clés primaires et étrangères. En général, je recommande de toujours mapper toutes les colonnes.

+0

Il n'a pas besoin de mappages POJO pour les tables de mappage m: n, bien qu'il puisse être meilleur avec, que sans eux –

0

Réponse courte - oui.

Il y a quelques façons créatives d'essayer de contourner la création d'un objet, mais d'un bon design et d'une bonne perspective Hibernate, vous voulez en fait écrire la petite classe. On dirait que c'est une très petite classe (constructeur vide, deux champs, deux setters/getters). Aller de l'avant et écrire la classe rendra le code qui traite de cette information plus propre. Il est absolument dans votre intérêt d'aller de l'avant et d'écrire cette classe.

Même si vous n'utilisiez pas Hibernate du tout, c'est toujours une bonne idée d'écrire une classe. Une ligne de données, qu'il s'agisse d'une liste séparée par des virgules ou d'une base de données, est une unité de données de base qui améliorera la lisibilité de votre code pour le traiter comme tel.