我想问你一个关于字节数组是play框架模型一部分的问题。我的模型定义如下:
@Entity
class BTFile (
@Required
var hash : Array[Byte],
@Required
var size : Int
) extends Model {
@OneToMany(mappedBy="file",cascade=Array(CascadeType.ALL))
var peers:JList[BTPeer] = new ArrayList[BTPeer]
}
将DAO对象定义为
object BTFiles extends QueryOn[BTFile]
但每次我尝试使用BTFiles.find(“byHash”)时,都会抛出以下异常:
[B cannot be cast to [Ljava.lang.Object;
有谁知道如何解决这个问题?我试图谷歌,但我找不到解决方案。单元测试我测试它:
it should "create and retrieve BTFile" in {
val file = new BTFile("some_hash".getBytes,1).save
BTFiles.find("byHash","some_hash".getBytes)
}
任何帮助将不胜感激!
答案 0 :(得分:1)
我建议您尝试使用java.lang.Byte
,因为Array
未被删除类型,因此,Array[Byte]
无法投放到Array[Object]
。