java - Hibernate延迟加载修改值

标签 java hibernate orm

我正在致力于使用 Spring 框架、Hibernate ORM 和 Jackson 来扩展用 Java 编写的 REST API,以实现 JSON(反)序列化。

在一些 API 调用中,我需要返回给定值(例如订阅 ID)的用户帐户。帐户有不同类型,因此包含一个类型值,以便客户可以确定他们正在处理的帐户类型。

在我的 Controller 中,我将提供的用户 ID 传递给调用此方法的服务调用:

public Account getAccountBySubscriptionId(long subscriptionId) {
    ServiceSubscription subscription = subscriptionDAO.load(subscriptionId);
    if(subscription != null) {
        return subscription.getAccount();
    } else {
        return null;
    }
}

我希望它返回类似于这样的 JSON:

{
    "type":"account_type_goes_here",
    "id":1,
    "accountNumber":"100"
}

但是,Hibernate 的延迟加载似乎正在修改类型值,如下所示(请注意 UserAccount 是对象的类):

{
     "type":"UserAccount_$$_javassist_1",
     "id":2,
     "accountNumber":"37"
}

如何让 Hibernate 保留类型的原始值而不是修改它?

最佳答案

您确定返回对象类型而不是帐户类型的字符串值的逻辑没有错误吗?

关于java - Hibernate延迟加载修改值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16693340/

相关文章:

mysql - @Column(unique=true) 似乎不起作用

c# - 使用linq在查找表中查找记录

java - 在 I/O 中使用 Double.parseDouble( )

java - 是否可以创建一个在运行时反射(reflect)类的 List<class> ?

java - Hibernate拦截器不起作用

java - 在道方面有逻辑不是一个很好的做法吗?

Node.js Sequelize object "not associated"当它是

java - Angular POST RESTful API 到 Ejb 导致 404 未找到错误

java - 使用 JSF 的 Seam 与使用 GWT 的 Seam

java - 当在 SQL 中用作别名时,将不存在的列存储在 JPA 实体中