Book Image

Lift Application Development Cookbook

By : Gilberto Tadeu Garcia Jun
Book Image

Lift Application Development Cookbook

By: Gilberto Tadeu Garcia Jun

Overview of this book

Developing secure web applications is one of the most important tasks developers have to deal with. With Lift, it is easy to create solid and formidable web applications as it is the most secure web framework available today. The View-First approach and being able to handle things as purely data transformation, makes working with Lift an exciting task. "Lift Application Development Cookbook" teaches you how to build web applications using this amazing framework. The book moves gradually, starting with the basics (starting a new project, submitting a form, and so on) before covering more advanced topics such as building a REST API and integrating your application with other technologies and applications. "Lift Application Development Cookbook" takes you on a journey of creating secure web applications. Step-by-step instructions help you understand how things work and how various elements relate to each other. You'll learn different ways to process a form, build dynamic HTML pages, and create an API using REST. You'll also learn how to work with relational and NoSQL databases and how to integrate your application with other technologies as well as with third-part applications such as Gmail and Facebook. By the end of the book, you will be able to understand how Lift works and be able to build web applications using this amazing and exciting framework.
Table of Contents (15 chapters)
Lift Application Development Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Creating many-to-many relationships


So far, we have learned how to map a table using Record and Squeryl; we've also learned how to create a one-to-many relationship. We will now learn how to create a many-to-many relationship using Record and Squeryl.

Getting ready

You can use any of the projects that we have created in this chapter, or you can start a new one; do whatever fits you best.

Create the following tables:

create table courses (
  id serial primary key,
  name varchar(100)
);

create table students (
  id serial primary key,
  name varchar(100)
);

create table courses_students (
  id serial primary key,
  course bigint,
  student bigint
);

How to do it...

  1. Create a class called Student in the model package, as follows:

    package code.model
    
    import net.liftweb.record.{MetaRecord, Record}
    import net.liftweb.squerylrecord.KeyedRecord
    import net.liftweb.record.field.{StringField, LongField}
    import org.squeryl.annotations.Column
    import org.squeryl.dsl.ManyToMany
    import net.liftweb.squerylrecord...