2011-02-05 69 views
1

我想問你一個關於字節數組是否屬於play framework模型的問題。我的模型的定義是這樣的:Play框架模型中的數組[Byte]

@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

你可以添加堆棧跟蹤嗎? – 2011-02-05 13:23:32

回答

1

我建議您嘗試使用java.lang.Byte,因爲Array不是類型擦除,並因此而Array[Byte]不能轉換成Array[Object]