主键批生成器模式:
从数据库序列中获取一个值(基数)来生成一批唯一的数字ID。这个基数在每次获取时,都是不同的。
获取基数方法:在Oracle中:Statement.executeQuery("SELECT SEQ_PK.NEXTVAL FROM DUAL")
假设我们的一批的大小为10,第一次得到基数为1,则第一批的ID是从1*10到1*10+10-1即10到19.下次得ID,当还未超过19时,就不用重新得到基数。显然,对于不同的基数,它们产生的序列是不会重复的。
序列化实体模式:
表的结构变成了这样,有一个主键,然后OBJECT_DATA存储二进制代码,这个二进制代码通过ObjectInputStream.readObject可以建立对象。写入该值用相应的ObjectOutputStream.writeObject(套接一个ByteArrayOutputStream),先把值写入它,然后ps.setBytes(2,baos.toByteArray()),写入到SQL更新参数中。