我可以在@Document中有一个Class类型的字段吗?

时间:2014-01-30 21:16:21

标签: java spring mongodb spring-data-mongodb

我想将文档保存到MongoDB。我正在使用Spring-Data-MongoDB来声明@Document。有一个特别的文件给我带来了问题。下面是一个有问题的文档示例,其中包含java.lang.Class类型的字段。

@Document
public class Value {
    @Id
    private Class<? extends I> clazz;
    private Integer value;
    ...
}

我得到的错误如下。

Caused by: java.lang.SecurityException: Can not make a java.lang.Class constructor accessible

我目前的解决方案是使用String代替Class。对于解决这个不使用Class类型字段的问题,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

  1. 你为什么要这样存储类而不只是名称?
  2. 您可以添加转换器,以便在保存时将Class转换为String,并在加载实体时将其转换为Class。