两个方向的导航访问。这是什么意思?

时间:2013-09-11 18:17:37

标签: java hibernate jpa orm

我阅读了jpa文档并且不明白它是什么意思?

也许你可以展示理解的例子?

2 个答案:

答案 0 :(得分:1)

如果你有两个内容

public class Author {
    public List<Book> books;
}

public class Book {
    public Author author;
}

你有双向关系。导航访问只是意味着您可以通过简单地跟踪(访问)对象

来获取另一个实体
Author author = authorDao.findById(1);
Book main = author.books.get(0);

但也

Book book = bookDao.findByName("Dune");
Author author = book.author;

(...忽略了java bean的良好做法)

答案 1 :(得分:0)

在两个方向上意味着如果您有两种类型的记录:例如电源插头和电气设备,插头知道哪个设备已连接,设备知道它连接的是哪个插头。

典型的也是n-1关系:员工&amp;公司,员工知道他在哪家公司工作,公司知道所有员工

这通常会导致两个表中都存在外键,但有时也会应用查询数据库。