问题:这是创建单向映射的正确方法吗?

@Entity
public class Product {
    @Id
    private long id;

    @OneToMany
    List<ProductText> texts;
}

@Entity
public class ProductText {
    @Id
    private long id;

    private String text;
    //some more
}


这将导致3个自动生成的表:productproduct_textproduct_texts (the join table)

ProductText行本身将永远不会被单独获取。我将始终仅在选择Product的上下文中获取它们。没有将分配给多个ProductTextProducts

最佳答案

更有效的方法是在product表中有一个product_text列;不需要单独的联接表。因此,只需为@JoinColumn映射指定@OneToMany

@OneToMany
@JoinColumn(name = "product")
List<ProductText> texts;

关于java - 如何以正确的方式创建单向OneToMany连接?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31791329/

10-09 09:35