您好!最近我遇到了这样的问题,我希望下面提供的解决方案能帮助像我这样的其他JPA新手。如果有更好的解决方案,请在此发布!
问题如下:
我想创建从类Book
和CD
到类Tag
的 OneToMany 关系。
为了统一Tag
和Book
中有关课程CD
的所有逻辑,我创建 @MappedSuperclass 类Item
,然后制作Book
}和CD
类Item
的后代。但是当我尝试映射时
List <Tag>
标签与 @OneToMany“在那个超类中我没什么好看的。
答案 0 :(得分:0)
我的解决方案:
为了进行ORM映射,首先应该先了解他实际想要在数据库中看到什么。因此,当我意识到合理的解决方案是在Item
和Tag
的后代之间创建几个转换表时,我明白,这可以使用 @ManyToMany 来完成。它工作正常!
清单如下。
@MappedSuperclass
public class Item extends Model {
@Id
public Long id;
@ManyToMany(cascade = CascadeType.ALL)
public List<Tag> tags;
public String name;
<…> }
@Entity
public class Book extends Item {
public int pageNum;
<…> }
@Entity
public class CD extends Item{
public int size;
<…> }
@Entity
public class Tag extends Model{
@Id
public Long id;
public String text;
<…> }
PS 我也发布了类和图表,但目前我没有r8n发布图片。