我读了thorben janssen关于hibernate和jpa多对多关联的最佳实践的主题。
在那里,janssen说双向关联需要实用方法,如下所示:
@Entity
public class Author {
@ManyToMany(mappedBy = "authors")
private Set<Book> books = new HashSet<Book>();
...
public void addBook(Book book) {
this.books.add(book);
book.getAuthors().add(this);
}
public void removeBook(Book book) {
this.books.remove(book);
book.getAuthors().remove(this);
}
}
spring/hibernate是否提供了@annotation来自动解决这个问题?
顺便说一下,看看索本·杨森的主题。
1条答案
按热度按时间0s7z1bwu1#
简短的回答:不需要对此进行注解。如果你愿意,你可以自己写这样的注解。但是,手动添加代码时性能会更好,因为这样的注解可能需要反射api。
“实用方法的需求”:这些实用方法有助于同步关系的双方,即如果您添加
Author
到Book
,您还必须添加Book
到Author
. 您不需要这些实用程序方法,可以手动将对象添加到彼此中。然而,这些实用方法避免了同步自动发生时的故障。