2011-02-05 12 views
1

バイト配列がプレーフレームワークモデルの一部であることについて質問したいと思います。私のモデルは次のように定義されています。Array [Byte] in Play Frameworkモデル

object BTFiles extends QueryOn[BTFile] 

として定義DAOオブジェクトと

@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] 
} 

しかし、私は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

私はArrayが消去型ではない、と、それゆえ、及びArray[Byte]Array[Object]にキャストすることはできませんので、あなたは、java.lang.Byteを使用してみてくださいお勧めします。