Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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
Database 根据db规范对案例类字段的限制_Database_Scala - Fatal编程技术网

Database 根据db规范对案例类字段的限制

Database 根据db规范对案例类字段的限制,database,scala,Database,Scala,我在scala中创建了一堆case类,我将用它们来写db。因为数据库中的列有一定的限制(长度、类型、null/notnull等)。如何在不逐个检查每个字段的情况下对case对象字段实施长度限制 这就是如何在case类的字段上放置重构 object Solution1 extends App { case class Payload(name: String, id: Int, address: String) { require(name.length < 10) r

我在scala中创建了一堆case类,我将用它们来写db。因为数据库中的列有一定的限制(长度、类型、null/notnull等)。如何在不逐个检查每个字段的情况下对case对象字段实施长度限制

这就是如何在case类的字段上放置重构

object Solution1 extends App {

  case class Payload(name: String, id: Int, address: String) {
    require(name.length < 10)
    require(address.length <= 50)
  }

  println(Payload("name5678910", 120, "earth")) // this will give you an erro
  println(Payload("name", 121, "earth"))
}
对象解决方案1扩展应用程序{
案例类有效负载(名称:String,id:Int,地址:String){
要求(名称.长度<10)

require(address.length这是如何在case类的字段上进行重构的

object Solution1 extends App {

  case class Payload(name: String, id: Int, address: String) {
    require(name.length < 10)
    require(address.length <= 50)
  }

  println(Payload("name5678910", 120, "earth")) // this will give you an erro
  println(Payload("name", 121, "earth"))
}
对象解决方案1扩展应用程序{
案例类有效负载(名称:String,id:Int,地址:String){
要求(名称.长度<10)

要求(address.length你想做什么?你能用更多的细节更新你的问题吗?事实上,这个问题并不能清楚地说明你想要达到什么目的。@RamanMishra,我已经编辑了这个问题。你为什么不能使用requires并在每个字段上加上条件?你想做什么?你能用更多的细节更新你的问题吗问题并没有清楚地告诉你想要实现什么。@RamanMishra,我已经编辑了这个问题。为什么你不能使用requires并将条件放在每个字段上?另一个可能更复杂的选项是查看将这些限制移动到类型级别。另一个可能更复杂的选项是查看to将这些限制移到类型级别。