Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
scala播放表单如何处理java bigdecimal_Scala_Playframework 2.0_Type Conversion_Bigdecimal - Fatal编程技术网

scala播放表单如何处理java bigdecimal

scala播放表单如何处理java bigdecimal,scala,playframework-2.0,type-conversion,bigdecimal,Scala,Playframework 2.0,Type Conversion,Bigdecimal,我试着用系统的值来填写表格 def edit(id: Long) = IsAuthenticated { username => implicit request => User.findByEmail(username).map { user => System.findById(id).map { system => Ok(html.systems.editForm(id, systemForm.fill(system), Pers

我试着用系统的值来填写表格

  def edit(id: Long) = IsAuthenticated { username => implicit request =>
    User.findByEmail(username).map { user =>
      System.findById(id).map { system =>
      Ok(html.systems.editForm(id, systemForm.fill(system), Person.options, user))
    }.getOrElse(NotFound)
    }.getOrElse(Forbidden)
  }
但一些“系统”值是java.math.BigDecimal

 val systemForm = Form(
    mapping(
      "id" -> ignored(NotAssigned:Pk[BigDecimal]),
      "sys_name" -> nonEmptyText,
      "sys_desc" -> nonEmptyText,
      "sys_owner1_id" -> longNumber,
      "sys_owner2_id" -> optional(longNumber)
    )(System.apply)(System.unapply)
  )
上面写着:

type mismatch; found : (anorm.Pk[java.math.BigDecimal], String, String, String, Option[String], java.math.BigDecimal, Option[java.math.BigDecimal]) => models.System required: (anorm.Pk[java.math.BigDecimal], String, String, Long, Option[Long]) => ? 

我该如何处理这个问题?

在阿诺姆或附近的某个地方看起来像是个问题

您可以从错误描述中看到,查询结果中的
sys\u owner1\u id
sys\u owner2\u id
biginger
s,但在表单中声明为
long


我不熟悉anorm,但解决方案是在anorm中声明这些ID,或者在表单映射中将它们声明为
biginger
,或者在查询中将它们从
biginger
转换为
long

谢谢-我被迫使用java BigDecimal,就像Oracle JDBC用于数字类型一样-但是表单帮助程序无法使用它们。。。我想不出有什么办法可以绕过它。我希望在我开始之前,他们能在网站上发布你不能使用的Oracle游戏。我和typesafe的人谈过,但他们只是说扔掉anorm,使用SLICK——但几乎没有医生,它还没有融入游戏