Je suis heureux de vous annoncer la 1ère sortie d'un nouvel ORM bibliothèque pour Scala. MapperDao cartes de classes du domaine de tables de base de données. Il prend actuellement en charge mysql, postgresql, oracle pilote sera bientôt disponible), un-à-un, plusieurs-à-un, un-à-plusieurs, plusieurs-à-plusieurs relations, générée automatiquement les clés, les transactions et éventuellement s'intègre bien avec le framework spring. Il permet une liberté dans la conception des classes du domaine qui ne sont pas affectés par la persistance de détails, encourage l'immutabilité et de l'est de type sécurisé. La bibliothèque n'est pas basé sur la réflexion, mais plutôt sur la bonne Scala principes de conception et contient un DSL pour les données de la requête, qui ressemble étroitement à des requêtes select. Il ne nécessite pas la mise en œuvre de equals() ou hashCode() sont des méthodes qui peuvent être problématiques pour les entités persistantes. La cartographie est réalisée à l'aide de type coffre-fort Scala code.
Les détails et les instructions d'utilisation peuvent être trouvés à l'mapperdao du site:
http://code.google.com/p/mapperdao/
La bibliothèque est disponible pour téléchargement sur le site ci-dessus et aussi comme une dépendance maven (documentation contient des détails sur la façon de l'utiliser via maven)
Des exemples peuvent être trouvés à:
https://code.google.com/p/mapperdao-examples/
Très brève introduction de la bibliothèque via le code de l'échantillon:
class Product(val name: String, val attributes: Set[Attribute])
class Attribute(val name: String, val value: String)
...
val product = new Product("blue jean", Set(new Attribute("colour", "blue"), new Attribute("size", "medium")))
val inserted = mapperDao.insert(ProductEntity, product)
// the persisted entity has an id property:
println("%d : %s".format(inserted.id,inserted))
L'interrogation est très familier:
val o=OrderEntity
import Query._
val orders = query(select from o where o.totalAmount >= 20.0 and o.totalAmount <= 30.0)
println(orders) // a list of orders
J'encourage tout le monde à utiliser la bibliothèque et donner de la rétroaction. La documentation est actuellement assez vaste, avec le programme d'installation et les instructions d'utilisation. N'hésitez pas à commenter et à entrer en contact avec moi à kostas dot kougios à googlemail dot com.
Merci,
Kostantinos Kougios