Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.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 JDBCRowSet的可序列化快照?_Java_Serialization_Rowset - Fatal编程技术网

Java JDBCRowSet的可序列化快照?

Java JDBCRowSet的可序列化快照?,java,serialization,rowset,Java,Serialization,Rowset,JdbcRowSet接口是一个连接的行集,与CachedRowSet不同,它不实现可序列化。 如果创建了一个同时实现JdbcRowSet和Serializable的类,会发生什么?它会在序列化时有效地发送JdbcRowSet的快照,还是这样的类不可能被使用 这更多是为了我自己的理解,而不是为了任何应用;我知道CachedRowSet实现可能是实现相同结果的正确途径。由于JDBCRowSet是一个连接的体系结构,因此不希望将类序列化,因为它在jdbc驱动程序的帮助下保持与数据库的连接。因此,在序列

JdbcRowSet接口是一个连接的行集,与CachedRowSet不同,它不实现可序列化。 如果创建了一个同时实现JdbcRowSet和Serializable的类,会发生什么?它会在序列化时有效地发送JdbcRowSet的快照,还是这样的类不可能被使用


这更多是为了我自己的理解,而不是为了任何应用;我知道CachedRowSet实现可能是实现相同结果的正确途径。

由于JDBCRowSet是一个连接的体系结构,因此不希望将类序列化,因为它在jdbc驱动程序的帮助下保持与数据库的连接。因此,在序列化的情况下,最好使用CachedRowSet,而序列化又是一个断开连接的体系结构

以下是这两种行集之间的区别: 1 JdbcRowSet: JdbcRowSet类提供了javax.sql.RowSet接口的基本实现,它将ResultSet对象转换为JavaBean,并抽象出使用ResultSet对象的细节。您可以使用此对象简化连接步骤,或为不支持这些功能的驱动程序提供可滚动和可更新的游标。但是,JdbcRowSet对象只能在连接模式下运行,因此需要存在JDBC驱动程序

2缓存行集:
CachedRowSet类提供与JdbcRowSet类相同的功能,但有一个重要区别:CachedRowSet对象可以在断开连接的环境中运行。因此,它可以在没有JDBC驱动程序的情况下运行。使用数据填充CachedRowSet对象后,您可以通过网络将其发送到瘦客户机,将其提供给笔记本电脑上的销售专业人员,或将其序列化以进行数据归档。CachedRowSet对象的优点是,向其发送对象的客户机不需要JDBC驱动程序。

我猜连接实际上是暂时的,这意味着反序列化对象无法正常工作。