java如何使CachedRowSetImpl只读
我将使用com执行查询并返回结果。太阳行集。CachedRowSetImpl发送给用户(不在我的控制范围内)。我想确保他们不会对这个对象执行任何更新操作,这些操作可能会对数据库进行更改。 一种方法可以是:
- 扩展CachedRowSetImpl并重写setReadOnly()方法,以便用户不能将其设置为false李>
这是否足够?或者,用户还可以使用其他方法更新数据库?我还应该重写clone()方法吗
谢谢
你可以在下面搜索框中键入要查询的问题!
我将使用com执行查询并返回结果。太阳行集。CachedRowSetImpl发送给用户(不在我的控制范围内)。我想确保他们不会对这个对象执行任何更新操作,这些操作可能会对数据库进行更改。 一种方法可以是:
这是否足够?或者,用户还可以使用其他方法更新数据库?我还应该重写clone()方法吗
谢谢
# 1 楼答案
我看不出重写clone()的理由,但确保不发生更新的最简单方法似乎是使用
ResultSet.CONCUR_READ_ONLY
正如您从Javadoc中看到的,在这种情况下,所有的变种都会抛出一个SQLException
因此,要创建只读缓存行集,以下内容就足够了:
# 2 楼答案
com.sun
下的类供内部使用,它们提供API的参考实现,您不需要直接访问它们最好避免将代码耦合到
com.sun
中的类,而是针对javax.
或java
包编写代码此外,
com.sun
包中的类可以在任何版本的Java中更改或删除