我目前正在学习Oracle ADF,包括TopLink ORM。好吧,我认为TopLink是一个ORM,如果我错了,请纠正我。我添加了一个到sqlite数据库的连接,并生成了一堆Java类。我正在使用奇努克示例数据库。
向导没有找到外键映射,所以我尝试在Artist
类和Album
类之间添加一对多关系。我在Artist
类中添加了一个List<Album>
字段。
public class Artist implements Serializable {
// Existing fields, default constructor and get/set omitted
//...
private List<Album> albums;
public Artist(int artistid, String name, /* added this */ List<Album> albums) {
this.artistId = artistid;
this.name = name;
this.albums = albums;
}
//...
public List<Album> getAlbums() {
return this.albums;
}
public void setAlbums(List<Album> albums) {
this.albums = albums;
}
}
然后我试着告诉TopLink,专辑列表与专辑元素有一对多的关系。但当我打开TopLink映射并试图编辑描述符时,我的新字段不在"结构"面板中。我试着找一个刷新按钮,但没有找到。也没有"添加字段"。我疯狂地在谷歌上搜索,什么也没找到。奇怪的是,我重新启动了JDeveloper,突然我的albums
字段出现了,我可以在上面设置一对多关系…
所以,实际上,我的问题是:有没有一种方法可以在不重新启动JDeveloper的情况下使字段出现?它很快就会变老。
重新启动几次后,问题就消失了。这可能是JDeveloper中的一个错误。解决方案是典型的"三R"计算机故障排除。
- 重新启动JDeveloper,以便TopLink Structure面板反映Java代码
- 重新启动计算机
- 重新安装JDeveloper
不便。。。但它是有效的。