Reader small image

You're reading from  Mastering play framework for scala

Product typeBook
Published inMay 2015
Reading LevelIntermediate
Publisher
ISBN-139781783983803
Edition1st Edition
Languages
Right arrow
Author (1)
Shiti Saxena
Shiti Saxena
author image
Shiti Saxena

Shiti Saxena is a software engineer with around 4 years of work experience. She is currently working with Imaginea (a business unit of Pramati). She has previously worked with Tata Consultancy Services Ltd. and Genpact. A true polyglot, she's had exposure to various languages, including Scala, JavaScript, Java, Python, Perl, and C. She likes to work with Play Scala and AngularJS. She blogs at http://eraoferrors.blogspot.in and maintains open source projects on GitHub. She loves to travel, is a movie buff, and likes to spend time playing her piano whenever she is not programming. She has authored Getting Started with SBT for Scala (https://www.packtpub.com/application-development/getting-started-sbt-scala).
Read more about Shiti Saxena

Right arrow

Troubleshooting


The following section covers some common scenarios:

  • Anorm throws an error at the SqlMappingError runtime (too many rows when you're expecting a single one), even though the query resulted in expected behavior. It is an insert query using "on duplicate key update".

    This can happen when such a query is being executed using executeInsert. The executeInsert method should be used when we need to return an autogenerated key. If we are updating some fields through a duplicate key, it means that we do not actually need the key. We could use executeUpdate to add a check if one row has been updated. For example, we may want to update the wishlist table, which tracks what a user has wished for:

    DB.withConnection {
            implicit connection => {
    
      val updatedRows = SQL"""INSERT INTO wish_list (user_id, product_id, liked_at) VALUES ($userId,$productId,$likedAt)
        ON DUPLICATE KEY UPDATE liked_at=$likedAt, is_deleted=false """.executeUpdate()
    
      updatedRows == 1
      }
    }
  • Can we use multiple...

lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Mastering play framework for scala
Published in: May 2015Publisher: ISBN-13: 9781783983803

Author (1)

author image
Shiti Saxena

Shiti Saxena is a software engineer with around 4 years of work experience. She is currently working with Imaginea (a business unit of Pramati). She has previously worked with Tata Consultancy Services Ltd. and Genpact. A true polyglot, she's had exposure to various languages, including Scala, JavaScript, Java, Python, Perl, and C. She likes to work with Play Scala and AngularJS. She blogs at http://eraoferrors.blogspot.in and maintains open source projects on GitHub. She loves to travel, is a movie buff, and likes to spend time playing her piano whenever she is not programming. She has authored Getting Started with SBT for Scala (https://www.packtpub.com/application-development/getting-started-sbt-scala).
Read more about Shiti Saxena