App Engine - Objectify - 存储一个字节[]

时间:2010-04-11 03:04:27

标签: google-app-engine objectify

我正在使用Objectify库与应用引擎数据存储区进行交互。

在我的User类中,我将散列密码存储为byte[]。当我把它放在数据存储区中时,它被正确存储为blob

当我尝试加载User对象时,我收到此错误:

java.lang.IllegalStateException: Cannot load non-collection value '<Blob: 40 bytes>' into private byte[]

我该如何解决这个问题?

我是否必须更改我的User类才能使散列密码的类型为ShortBlob

3 个答案:

答案 0 :(得分:3)

为什么不检索Blob(或ShortBlob),然后使用byte[]取出getBytes()

答案 1 :(得分:0)

我会尝试:

  1. 在Pojo用户类中使用ShortBlog
  2. 使用String而不是Byte将Byte []转换为String来存储密码
  3. Objectify google group
  4. 发帖请求

答案 2 :(得分:0)

我建议只使用md5的字符串? 另一种可能性是当你试图加载字节时,Objectify没有正确注册用户。 “客观化”最佳实践中有一个链接

http://code.google.com/p/objectify-appengine/wiki/IntroductionToObjectify#Relationships

表示PoJo类的静态注册。