有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

序列化Java序列化:每个文件一个对象

对于这个特定的项目,我需要将我的实体层(由POJO组成)序列化为文件。由于我需要更新特定对象,所以我希望每个序列化对象使用一个文件

示例:客户--ArrayList->;订单——ArrayList——>;产品

当我编辑一个客户,然后使用java序列化它时。伊奥。可序列化接口,所有字段及其字段(如果错误,请纠正我),将被序列化

我如何以每个文件只使用一个对象的方式应用序列化?我已经给了每个对象一个uniqe UUID,在序列化时用作文件名

如果有任何框架可以实现基于文件的ORM,那就更好了;)


共 (1) 个答案

  1. # 1 楼答案

    我不熟悉这样的框架
    您可以使用其他框架,例如apache BeanUtils,来执行以下递归算法:
    A.为每个对象获取其属性(假设该对象是JavaBean)
    B.对于每个基元字段,将所有基元写入文件(可以使用反射来确定字段是否为基元)
    C.对于每个非基本文件,在文件中写一个特殊部分,指向将包含作为字段值的对象的文件名
    D.递归调用每个非原语字段的算法


    类似的方法也可以用于收集——
    HashMap、ArrayList等

    基本元素的序列化代码可以是@Anshu提供的代码