当前位置: 首页 > 知识库问答 >
问题:

Spring表关系问题

赫连子石
2023-03-14
@Entity
@Table(name = "product")
public class Product {
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Integer id;

    private String name;

    private String description;

    private Integer parent_product_id;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Integer getParent_product_id() {
        return parent_product_id;
    }

    @OneToMany
    @JoinColumn(name = "product_id")
    public void setParent_product_id(Integer parent_product_id) {
        this.parent_product_id = parent_product_id;
    }


}
@Entity
public class Image {
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Integer id;

    private String type;

    @ManyToOne
    private Product product_id;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public Product getParent_product_id() {
        return product_id;
    }

    public void setProduct_id(Product product_id) {
        this.product_id = product_id;
    }


}

我的ImageRepository

package model;

import org.springframework.data.repository.CrudRepository;

import java.util.List;

// This will be AUTO IMPLEMENTED by Spring into a Bean called userRepository
// CRUD refers Create, Read, Update, Delete

public interface ImageRepository extends CrudRepository<Image, Long> {

    List<Image> findByProduct_id(String id);
}

谢谢你们的帮助!

共有1个答案

贺雪松
2023-03-14

您的存储库应该是:

public interface ImageRepository extends CrudRepository<Image, Long> {

    List<Image> findByProductId(Integer id);
}

您的product实体应为:

@Entity
@Table(name = "product")
public class Product {
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Integer id;

    private String name;

    private String description;

    @Transient
    private Integer parentId;

    @ManyToOne
    @JoinColumn(name="parent_id")
    private Product parentProduct;

    //getters/setters

}

您的image实体应为:

@Entity
@Table(name = "image")
public class Image {
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Integer id;

    private String type;

    @ManyToOne
    @JoinColumn(name = "product_id")
    private Product product;

    //getters/setters


}
 类似资料:
  • 当使用字段注释关系类型时,检索关系时遇到困难。 这些关系在Neoclipse中看起来是正确的,但我在应用程序中没有检索到任何结果。 不起作用的代码是(简化的): 以及: 工作的代码是: 然而,这不适合我的用例(我有一堆不同的实例的任意组合之间的关系类型。 下面是完整的测试代码。和都是的子类。 最后一行是测试失败的地方。有什么线索吗? M 另外,我是Neo4j的业余爱好者,只是碰巧发现了,所以我很可

  • 我是JPA的新手,我正试图让我的实体类正常工作,但我的代码总是给我返回这样的错误:“字段[produtos.marca_idmarca]存在多个可写映射” 这些是我的实体类: 我试图在produtos和Marca之间建立一个单向的多对一的关系(1个Marca对许多produtos): 错误: 如果不存在则创建表。(INT NOT NULL AUTO_INCREMENT,INT(13)NOT NUL

  • 大家好,我正在用R2dbc(非阻塞)编写RESTAPI项目,但问题是表关系 任务模型 到期模型 任务仓库//这个反应性的污物仓库 任务管理器//这是业务层 任务服务//这是服务层 任务控制器 任务响应 我的Rest Api响应任务 问题一对一关系响应空有什么问题???请帮帮我谢谢 错误跟踪

  • 我读了很多问题,但还没有找到答案。 我有两个不同的表WeatherData: @实体公共类WeatherData实现可序列化{ 有人有主意吗? 谢谢

  • Intellij在全新的kotlin/spring项目中给我错误,我无法从IDE中构建或运行该项目。 但是,如果我从命令行执行此操作,则没有问题,我可以构建和运行该应用程序。 对可能的问题有什么想法吗?我在InteliJ中尝试了Kotlin多平台JVM类型不匹配,但似乎无法解决这个问题。 更新: 清除了 gradle 缓存,重新安装了 Intellij,导入从选择了 Gradle 和 Kotlin

  • 表关系(Table Relationship)用于显示列和表之间的关系。 如图中所示,这个表只有一个主键: