Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.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 使用gson序列化hibernate外键值而不是POJO_Java_Json_Hibernate_Foreign Keys_Gson - Fatal编程技术网

Java 使用gson序列化hibernate外键值而不是POJO

Java 使用gson序列化hibernate外键值而不是POJO,java,json,hibernate,foreign-keys,gson,Java,Json,Hibernate,Foreign Keys,Gson,我正在尝试使用gson序列化hibernate对象。当我这样做时,我会得到这样的结果: 带有嵌入式地址对象的用户对象 { "userName" : "melchoir", "address" : {} } 那很酷,但我想要更简单的。我想要数据库对象的更精确表示。具体来说,我希望看到地址的外键,而不是实际的地址对象。我想要这样的东西: 带有外键的用户对象 {"userName" : "melchoir", "addressId" : 3 } 有人知道我如何从gson和hib

我正在尝试使用gson序列化hibernate对象。当我这样做时,我会得到这样的结果:

带有嵌入式地址对象的用户对象

{ "userName" : "melchoir",
   "address" : {}
}
那很酷,但我想要更简单的。我想要数据库对象的更精确表示。具体来说,我希望看到地址的外键,而不是实际的地址对象。我想要这样的东西:

带有外键的用户对象

{"userName" : "melchoir",
       "addressId" : 3
}

有人知道我如何从gson和hibernate中获得第二个示例吗?我应该指出,hibernate对象已经加载。我不能简单地用不同的配置选项创建另一个hibernate会话来满足这一点。我需要一个由gson提供的解决方案。

首先尝试只获取用户对象中Address对象的外键值。。无论如何,告诉你的代码你是如何得到用户对象的数据的。@Babel这是个好主意。不幸的是,这本身就是我遇到的问题。我在这里创建了一个相关的堆栈溢出帖子,该帖子调查在最初生成对象时包括对象上的外键: