Spring和Hibernate多对多,带有附加字段

Spring和Hibernate多对多,带有附加字段,spring,hibernate,jsp,jstl,Spring,Hibernate,Jsp,Jstl,我有一个非常有趣的问题: 我认为这个示例工作得很好,但我找不到使用hibernate的DAO层示例,并且我在将组合键保存到数据库中时遇到问题。也许有人在spring和JSP中提供了一个完整的示例,其中包含最少的GUI,可以演示这一点。或者你有更好的例子。让Hibernate帮你处理: Product.java @实体 @表(name=“产品”) 公共类产品{ @ManyToMany(fetch=FetchType.LAZY,mappedBy=“products”) @级联({CascadeTyp

我有一个非常有趣的问题:


我认为这个示例工作得很好,但我找不到使用hibernate的DAO层示例,并且我在将组合键保存到数据库中时遇到问题。也许有人在spring和JSP中提供了一个完整的示例,其中包含最少的GUI,可以演示这一点。或者你有更好的例子。

让Hibernate帮你处理:

Product.java

@实体
@表(name=“产品”)
公共类产品{
@ManyToMany(fetch=FetchType.LAZY,mappedBy=“products”)
@级联({CascadeType.ALL})
私家店铺;
}
Store.java

@实体
@表(name=“Store”)
公共类商店{
@ManyToMany(fetch=FetchType.LAZY)
@级联({CascadeType.ALL})
@JoinTable(name=“store\u product”,JointColumns={
@JoinColumn(name=“storeId”,updateable=false)},inverseJoinColumns={
@JoinColumn(name=“productId”,updateable=false)})
私人套装产品;
}

现在,您可以添加/编辑/删除而不必担心多个关系< /p>这是我使用的示例:这是可以的,但是我想要这样的结构:您可以考虑编写测试段作为DAO

@Entity
@Table(name = "Product")
public class Product {
    @ManyToMany(fetch = FetchType.LAZY, mappedBy = "products")
    @Cascade({ CascadeType.ALL })
    private Set<Offer> stores;
}
@Entity
@Table(name = "Store")
public class Store {
    @ManyToMany(fetch = FetchType.LAZY)
    @Cascade({ CascadeType.ALL })
    @JoinTable(name = "store_product", joinColumns = {
        @JoinColumn(name = "storeId", updatable = false) }, inverseJoinColumns = {
                @JoinColumn(name = "productId", updatable = false) })
    private Set<Product> products;
}