public class Class1{ public Class2 class2; public Class2 getclass2()… public void setClass2(Class2 class2)… } public class Class2{ public Class1 class1; public Class1 getClass1()... ... } 这种关系很显然是双向的,可以从class1中得到class2,反过来,也可以从class2中得到class1,那么体现到数据表中呢?首先可以肯定class1àtable1,class2àtable2;很显然,table1和table2都要互相增加多一列来保存对方的key。
这些简单的关系在数据库表的关联中得到了很好的支持,但是稍微复杂一点的呢?
诸如以下一个类:
public class S { ArrayList datas; Public List getDatas().. Public void setDatas(List datas).. …. } 这里如果简单用上面所分析的propertyname-àColumnName显然不可以,这种集合作为bean属性我们该怎么在数据表中得到很好体现呢?如果这些集合只是简单的String 集合,它在数据库表里面是怎么表述的呢?如果这些集合是保存某些类实例的,似乎可以转换为数据库表的一对多的关系?
public class BookStore{ Set books; Public Set getBoos().. Public void setBooks(Set boos)… Public void addBook(Book book)… public class Book{ public BookStore bookStore; public Parent getBookStore().. .. } 在业务逻辑中,我们会这样写代码:
Book book=new Book(); .bookStore.addBooks(book); 上面两行代码便已经清楚地建立了child与parent之间的关系,相对来说,数据库中的数据也应该根据这几行代码建立产生数据并建立这种关联。此时内存中的数据怎么跟数据库中的数据一致呢?