java - 泛型和 JSON

标签 java json generics playframework

我正在使用 Play 框架。 我想使用带有 2 个对象的函数 renderJSON 作为参数。这似乎是不可能的,所以我试图创建一个包含这两个对象的类。为了不必每次都创建一个新类,我想使用泛型,但它似乎不起作用:

型号:

public class JSONContainer<T> extends Model {

    private T myT;
    private StatusMessage mySm;

    public JSONContainer(T myT, StatusMessage mySm) {
        this.myT = myT;
        this.mySm = mySm;
    }
}

然后:

在 Controller 的函数中:

JSONContainer<User> myJ = new JSONContainer(logged,sm);
renderJSON(myJ);

其中 logged 是一个 User,sm 是一个 StatusMessage。我收到错误:

type:   'play.exceptions.JavaExecutionException'

如果我不使用泛型,它工作正常。有什么想法吗?

控制台给出了这个输出,其中第 43 行是:

JSONContainer<User> myJ = new JSONContainer(logged,sm);

Error

最佳答案

Hibernate 无法映射通用实体。

您应该执行通用类抽象并创建特定实现(使用 User 和 T 的任何其他可能值)。这应该可以解决问题

关于java - 泛型和 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8364658/

相关文章:

java - 如何阻止整数在每次运行时重置为原始值?

json - PHP-CLI 似乎从参数中解析 JSON 字符串

java - Android Firebase - 无法从 Firebase 快照接收正确的 JSON

C# 通用返回值

class - Haskell构造一个类型包含类

JAVAFX媒体: Serious optimization problem

java - 一个类如何在没有原始类对象的情况下更改另一个类值

java - 在 Java 中实现数据库管理层 (neo4j) 的指南

PHP json_encode 大小限制?

generics - 如何告诉Rust编译器实际上并不需要类型注释?