Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 播放框架:模型中的哈希表?_Java_Playframework - Fatal编程技术网

Java 播放框架:模型中的哈希表?

Java 播放框架:模型中的哈希表?,java,playframework,Java,Playframework,我正在尝试创建一个模型,它是一个具有一些访问器方法的哈希表。这个模型看起来很 public class MyHash(){ Hashtable<Integer, CustomObject> hash = new Hashtable<Integer,CustomObject>(); //few accessor methods here... } this.hash = new MyHash(); 发生以下异常 Internal Server Error

我正在尝试创建一个模型,它是一个具有一些访问器方法的哈希表。这个模型看起来很

public class MyHash(){
    Hashtable<Integer, CustomObject> hash = new Hashtable<Integer,CustomObject>();
    //few accessor methods here...
}
this.hash = new MyHash();
发生以下异常

Internal Server Error (500) for request POST /login

Execution exception (In /app/controllers/Security.java around line 70)
IllegalArgumentException occured : No serializer found for class models.MyHash and no properties discovered to create BeanSerializer (to avoid exception, disable   SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS) ) (through reference chain:  User["hash"])

play.exceptions.JavaExecutionException: No serializer found for class models.MyHash and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS) ) (through reference chain: User["hash"])
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:231)
at Invocation.HTTP Request(Play!)
Caused by: java.lang.IllegalArgumentException: No serializer found for class models.ListOfFilters and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS) ) (through reference chain: User["hash"])
at org.codehaus.jackson.map.ObjectMapper._convert(ObjectMapper.java:1784)
at org.codehaus.jackson.map.ObjectMapper.convertValue(ObjectMapper.java:1750)
at play.modules.mongo.MongoMapper.convertValue(MongoMapper.java:12)
at play.modules.mongo.MongoDB.save(MongoDB.java:239)
at models.User.save(User.java)
at controllers.Security.createNewUser(Security.java:70)
at controllers.Security.authenticate(Security.java:36)
at play.utils.Java.invokeStaticOrParent(Java.java:161)
at play.utils.Java.invokeChildOrStatic(Java.java:183)
at controllers.Secure$Security.invoke(Secure.java:187)
at controllers.Secure$Security.access$0(Secure.java:184)
at controllers.Secure.authenticate(Secure.java:64)
at play.mvc.ActionInvoker.invokeWithContinuation(ActionInvoker.java:548)
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:502)
at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:478)
at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:473)
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:161)
... 1 more
Caused by: org.codehaus.jackson.map.JsonMappingException: No serializer found for class models.MyHash and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS) ) (through reference chain: User["hash"])
at org.codehaus.jackson.map.ser.StdSerializerProvider$1.serialize(StdSerializerProvider.java:62)
at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:268)
at org.codehaus.jackson.map.ser.BeanSerializer.serializeFields(BeanSerializer.java:160)
at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:131)
at org.codehaus.jackson.map.ser.StdSerializerProvider._serializeValue(StdSerializerProvider.java:297)
at org.codehaus.jackson.map.ser.StdSerializerProvider.serializeValue(StdSerializerProvider.java:224)
at org.codehaus.jackson.map.ObjectMapper.writeValue(ObjectMapper.java:1030)
at org.codehaus.jackson.map.ObjectMapper._convert(ObjectMapper.java:1777)
... 17 more

我想这会让你走到一半:


但是您仍然需要使MyHash本身可序列化,以便框架知道如何将其存储到db中:它本身需要成为一个@Entity。

我认为这将使您达到一半:


但是您仍然需要使MyHash本身可序列化,以便框架知道如何将其存储到db中:它本身需要成为一个@Entity。

尝试将@JsonAutoDetect添加到MyHash类中。有关更多信息,请查看


此外,您还需要按照craigmj的建议正确映射hashmap。

尝试将@jsonautodect添加到MyHash类中。有关更多信息,请查看


此外,您还需要按照craigmj的建议正确映射hashmap。

您可以提供更多的背景信息吗?我不太明白您想用MyHash类做什么,以及它本身是否是一个模型派生类(您说它是一个模型,但它不扩展
Model
)?很抱歉造成混淆,您是对的,它不扩展模型。我想用它为用户存储一个哈希表,它被用作扩展模型的类
user
中的一个变量。您可以提供更多的背景信息吗?我不太明白您想用MyHash类做什么,以及它本身是否是一个模型派生类(您说它是一个模型,但它不扩展
Model
)?很抱歉造成混淆,您是对的,它不扩展模型。我想用它来为用户存储一个哈希表,它被用作类
user
中的一个变量,该类扩展了模型。