8
votes

Les classes de domaine Grails doivent-elles être liées à une base de données?

Je suis un noob complet en ce qui concerne les greils (et toujours très noobanish quand il s'agit de Groovy), donc je m'excuse s'il s'agit d'une question stupide.

Je construis une application Web simple et je souhaite contrôler des parties du domaine dans mon application basée sur des objets système de fichiers (c'est-à-dire la structure du répertoire et le type de fichier) plutôt que des données de base de données. Quelle est la facilité de faire cela ou les objets de domaine sont-ils alors entrelacés avec Gorm qui ne valent pas l'effort d'essayer?


1 commentaires

Pas une réponse, mais vous êtes peut-être intéressé d'apprendre que la mise en œuvre de la persistance est abstraite de Gorm. Cela permettra à Gorm de travailler avec les implémentations NOSQL telles que REDIS, NEO4J, etc. et d'autres comme des référentiels JCR. Il devrait également être possible d'ajouter une mise en œuvre de base du système de fichiers. Gardez un œil sur les annonces de Grails.


4 Réponses :


1
votes

Quelques façons de faire cela.

Tout d'abord, vous pouvez déclarer vos propriétés que la carte pour déposer des données système en tant que système transitoire et d'accéder au système de fichiers lorsque les getters / setters sont appelés (vous devez les remplacer). Vous pouvez également les charger avec surcharge si vous en avez besoin pour être en mémoire toujours.

second - Hibernate gère la persistance. Hibernate vous permet de définir votre propre type d'utilisateur, ce qui peut gérer la persistance selon laquelle vous le souhaitez. De cette façon, cela pourrait arriver pour vous plus de manière transparente (même si vous devriez vous assurer de bien comprendre Hibernate assez bien, de vous assurer qu'il n'y a pas d'effets secondaires, je ne suis pas sûr).

http://i-proving.com/space / Technologies / Hibernate / Utilisateur + Types + In + Hibernate


0 commentaires

1
votes

Il n'y a pas de place intégrée pour mapper des classes de domaine pour déposer des objets système comme vous l'avez décrit, mais également, il n'est pas nécessaire que votre domaine classe la carte dans une base de données relationnelle. Le sujet de la création d'une application Grails qui n'utilise pas une base de données relationnelle est adressée ici et ici (et éventuellement ailleurs).


0 commentaires

9
votes

J'ai rencontré cette question moi-même quelques semaines il y a quelques semaines.

Vous pouvez simplement ajouter le feu suivant à la classe de domaine code>. p>

def isAttached() 
{
   return false
}


1 commentaires

Il semble que, même s'il n'y avait pas de réponse lorsque j'ai demandé aux versions ultérieures des greils gênent cette situation.



4
votes

Vous pouvez également utiliser: xxx

voir GRAVES Documentation et Cette réponse . Semble avoir été ajouté dans GRAVES 2.0.1 mais non documenté jusqu'à la version 2.3.0.


0 commentaires