Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.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 如何将Hibernate实体传递给Android应用程序_Java_Android_Spring_Hibernate - Fatal编程技术网

Java 如何将Hibernate实体传递给Android应用程序

Java 如何将Hibernate实体传递给Android应用程序,java,android,spring,hibernate,Java,Android,Spring,Hibernate,我有一个用Java运行的服务器,上面插入的所有数据都使用Hibernate存储在MySQL数据库中 我试图将所有这些数据传递给我的Android应用程序,因此我必须在两侧声明相同的实体类。关键是Android不支持Hibernate,所以我的Android实体类中不能有Hibernate注释 我怎样才能解决这个问题 我曾经考虑过创建一个辅助类,名为EntityAndroid,它不会有Hibernate注释。因此,每当Android请求到达服务器时,我都会将一个实体类(带有Hibernate St

我有一个用Java运行的服务器,上面插入的所有数据都使用Hibernate存储在MySQL数据库中

我试图将所有这些数据传递给我的Android应用程序,因此我必须在两侧声明相同的实体类。关键是Android不支持Hibernate,所以我的Android实体类中不能有Hibernate注释

我怎样才能解决这个问题


我曾经考虑过创建一个辅助类,名为EntityAndroid,它不会有Hibernate注释。因此,每当Android请求到达服务器时,我都会将一个实体类(带有Hibernate Stuff)转换为EntityAndroid类(与另一个类似,但没有Hibernate Stuff),并将这个辅助对象传递给Android应用程序(显然,在Android应用程序中,我会有相同的EntityAndroid服务器类)。这将需要太多的服务器,因为我在表之间有太多的关系。

如果通过服务器存储/检索数据,在Android上拥有实体对我来说没有意义。我将专注于在服务器端创建Web服务,用于检索和存储更改

让您的Web服务将实体对象序列化为JSON数据结构(例如),您可以在Android应用程序中读取并转换回对象。当客户机中的对象发生更改时,可以通过将JSON结构转换回实体的Web服务将其发送回服务器


希望这有帮助。

为什么不使用hibernate XML映射样式?
您将使用不带注释的类,这可能会清除Android中的错误。

我最终在Android和Server project中创建了新的实体类,并使用这些类从服务器传递到Android。 这些类没有来自Hibernate的注释,所有外键都被视为整数(在Hibernate中,我拥有外键的整个对象实体)。因此,在将这些实体发送到应用程序之前,我进行了这个转换,这只是一个迭代,遍历填充android实体的hibernate实体的所有字段(与hibernate实体相同,但没有注释和外键为整数)


这可能不是最好的解决方案,因为它可能会浪费太多的处理器和内存,但由于我不会有太多的实体进行转换,我想这应该没问题

谢谢链接。。但在这里,我并不打算在Android中实现Hibernate。我只是想知道将用hibernate创建的实体发送到Android的更好方法。您如何发送该实体?JSON,XML?只要有一个具有相同字段的类,我用json发送这个就是我要做的,除了在客户端更改对象之外。这不会发生,所有的数据都在服务器中更改,我只是读取这些数据并将其发送到android应用程序。。我已经在使用json发送对象了。。唯一的问题是,我的两个类并不完全相同,因为Androides不支持hibernate,但您可以将JSON数据映射到不同的对象。或者构建一个共享java接口库,其中只包含实体对象的接口。让你的实体类在服务器端实现它,让你的Android客户端在客户端实现它们。我以前从未想过这一点。我会寻找它,但在创建实体时,我不需要实现或扩展任何Hibernate类吗?如果是这样,这将不起作用,因为我不会在两侧都有相同的类。不,您不必从任何内容进行扩展(所有内容都映射到XML文件),所有POJO都将是干净的,也许这将帮助您消除错误。警察局。我从来没有在我的项目上使用过注释,但我读过。我总是使用XML风格。