我正在使用Objectify库与应用引擎数据存储区进行交互。
在我的User类中,我将散列密码存储为byte[]
。当我把它放在数据存储区中时,它被正确存储为blob
。
当我尝试加载User
对象时,我收到此错误:
java.lang.IllegalStateException: Cannot load non-collection value '<Blob: 40 bytes>' into private byte[]
我该如何解决这个问题?
我是否必须更改我的User类才能使散列密码的类型为ShortBlob
?
答案 0 :(得分:3)
为什么不检索Blob
(或ShortBlob
),然后使用byte[]
取出getBytes()
?
答案 1 :(得分:0)
我会尝试:
答案 2 :(得分:0)
我建议只使用md5的字符串? 另一种可能性是当你试图加载字节时,Objectify没有正确注册用户。 “客观化”最佳实践中有一个链接
http://code.google.com/p/objectify-appengine/wiki/IntroductionToObjectify#Relationships
表示PoJo类的静态注册。