SQL / HQL in un controller del framework Play e un modello del livello di servizio

0

Ho iniziato a utilizzare Play Framework un paio di mesi fa. "Ridefinisce" molte convenzioni dal tradizionale mondo Java (come il modo di usare metodi statici tra le altre cose). Stavo visualizzando la documentazione quando ho trovato questo pezzo di codice in scala:

package controllers

import play.api.Play.current
import play.api.mvc._
import play.api.db._

object Application extends Controller {

  def index = Action {
    var outString = "Number is "
    val conn = DB.getConnection()
    try {
      val stmt = conn.createStatement
      val rs = stmt.executeQuery("SELECT 9 as testkey ")
      while (rs.next()) {
        outString += rs.getString("testkey")
      }
    } finally {
      conn.close()
    }
    Ok(outString)
  }

}

Fondamentalmente, è un controller con una chiamata al database. Comprendo che Play Framework è rivoluzionario in alcuni aspetti, ma non si tratta del modello di base Layer Service Pattern ? Qual è la logica alla base dell'uso di una chiamata SQL su un controller?

Modifica :

Il motivo per cui sono arrivato a questa pagina del tutorial di Play è perché stavo cercando la pratica più comune in questo caso, ho trovato più di un caso in un'applicazione reale in cui ciò accade. Quindi la mia domanda, per essere più precisi: è una pratica accettata in Play? è solo "tollerato" in alcune circostanze (per un vero codice di vita, non in un tutorial)? o la query SQL deve semplicemente andare in un oggetto "modello"?

    
posta morgano 19.03.2016 - 11:57
fonte

0 risposte

Leggi altre domande sui tag