|
Lift Framework example source code file (OneToManySpecs.scala)
The Lift Framework OneToManySpecs.scala source code/* * Copyright 2009-2010 WorldWide Conferencing, LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package net.liftweb { package mapper { import org.specs.Specification object OneToManySpecs extends Specification("One to Many Specification") { val provider = DbProviders.H2MemoryProvider private def ignoreLogger(f: => AnyRef): Unit = () def setupDB { MapperRules.createForeignKeys_? = c => false provider.setupDB Schemifier.destroyTables_!!(ignoreLogger _, Contact, Phone) Schemifier.schemify(true, ignoreLogger _, Contact, Phone) } "OneToMany" should { "detect all MappedOneToMany fields" in { setupDB val contact = Contact.create val fields = contact.oneToManyFields fields.length must_== 1 fields(0).asInstanceOf[Any] must_== contact.phones } "cascade delete" in { val contact = Contact.create contact.phones += Phone.create contact.save Contact.count must_== 1 Phone.count must_== 1 contact.delete_! Contact.count must_== 0 Phone.count must_== 0 } } } class Contact extends LongKeyedMapper[Contact] with IdPK with OneToMany[Long, Contact] { def getSingleton = Contact object phones extends MappedOneToMany(Phone, Phone.contact) with Cascade[Phone] } object Contact extends Contact with LongKeyedMetaMapper[Contact] class Phone extends LongKeyedMapper[Phone] with IdPK { def getSingleton = Phone object contact extends MappedLongForeignKey(this, Contact) object number extends MappedString(this, 10) } object Phone extends Phone with LongKeyedMetaMapper[Phone] } } Other Lift Framework examples (source code examples)Here is a short list of links related to this Lift Framework OneToManySpecs.scala source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.