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

如何利用Hibernate(Spring)根据外键值从表中选择行

程树
2023-03-14

我想获取kotizacija_id等于指定ID的所有行。这是我在控制器中的功能

  @GetMapping("/kotizacije_cjenovnik/{id}")
  @Timed
    public List<KotizacijeCjenovnik> getKotizacijeByKotizacijaId(@PathVariable BigInteger id) {
    log.debug("REST request to get Kotizacija : {}", id);
    List<KotizacijeCjenovnik> kotizacija_cjenovnik = kotizacijaCjenovnik.getKotizacijeByKotizacijaId(id);
    return kotizacija_cjenovnik;
}
@SuppressWarnings("unused")
@Repository
public interface KotizacijeCjenovnikRepository extends 
JpaRepository<KotizacijeCjenovnik, BigInteger> {
@Query(value="select kotizacije_cjenovnik from KotizacijeCjenovnik kotizacije_cjenovnik where kotizacije_cjenovnik.kotizacija.id =:id")
List<KotizacijeCjenovnik> getKotizacijeByKotizacijaId(@Param("id") BigInteger id);

 }
@Entity
@Table(name = "kotizacije_cjenovnik")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class KotizacijeCjenovnik implements Serializable {

private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Column(name = "cijena1", nullable = false)
private Double cijena1;

@ManyToOne
private Kotizacija kotizacija;

// jhipster-needle-entity-add-field - JHipster will add fields here, do not remove
public Long getId() {
    return id;
}

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

private Double getCijena1() {
    return cijena1;
}

public KotizacijeCjenovnik cijena1(Double cijena) {
    this.cijena1 = cijena;
    return this;
}

public void setCijena1(Double cijena) {
    this.cijena1 = cijena;
}


public Kotizacija getKotizacija() {
    return kotizacija;
}

public KotizacijeCjenovnik kotizacija(Kotizacija kotizacija) {
    this.kotizacija = kotizacija;
    return this;
}

public void setKotizacija(Kotizacija kotizacija) {
    this.kotizacija = kotizacija;
}

@Override
public boolean equals(Object o) {
    if (this == o) {
        return true;
    }
    if (o == null || getClass() != o.getClass()) {
        return false;
    }
    KotizacijeCjenovnik kotizacijeCjenovnik = (KotizacijeCjenovnik) o;
    if (kotizacijeCjenovnik.getId() == null || getId() == null) {
        return false;
    }
    return Objects.equals(getId(), kotizacijeCjenovnik.getId());
}

@Override
public int hashCode() {
    return Objects.hashCode(getId());
}

@Override
public String toString() {
    return "KotizacijeCjenovnik{" +
        "id=" + getId() +
        ", cijena1=" + getCijena1() +
        ", cijena2=" + getCijena2() +
        ", cijena3=" + getCijena3() +
        "}";
    }
}

我的问题是如何选择外键等于指定值的行。

共有1个答案

陈扬
2023-03-14

Kotizacija的id似乎是长的,而不是BigInteger,但是您可以直接指定Kotizacija而不是它的id。控制器:

@GetMapping("/kotizacije_cjenovnik/{id}")
@Timed
public List<KotizacijeCjenovnik> getKotizacijeByKotizacijaId(@PathVariable BigInteger id) {
    log.debug("REST request to get Kotizacija : {}", id);
    Kotizacija kotizacija = new Kotizacija();
    kotizacija.setId(id);
    List<KotizacijeCjenovnik> kotizacija_cjenovnik = kotizacijaCjenovnik.getKotizacijeByKotizacija(kotizacija);
    return kotizacija_cjenovnik;
}

存储库:

@SuppressWarnings("unused")
@Repository
public interface KotizacijeCjenovnikRepository extends 
    JpaRepository<KotizacijeCjenovnik, BigInteger> {
    @Query(value="select kotizacije_cjenovnik from KotizacijeCjenovnik kotizacije_cjenovnik where kotizacije_cjenovnik.kotizacija = :kotizacija")
    List<KotizacijeCjenovnik> getKotizacijeByKotizacija(@Param("kotizacija") Kotizacija kotizacija);
}
 类似资料:
  • 我正在使用它来自动化一个GWT应用程序。有一个包含以下列的表:checkbox,userID,Username,Fname,LName,email。 我得到的错误是:selenium.common.exceptions.invalidselectoreXception:消息:无效选择器:无法找到具有xpath表达式//tr[td[contains(text()='agency_group_0_ag

  • 如何根据Pandas中某个列中的值从中选择行? 在SQL中,我将使用: 我试图查看熊猫的文档,但我没有立即找到答案。

  • 我试图查看熊猫的文档,但我没有立即找到答案。

  • 问题内容: 如何DataFrame基于Python Pandas中某些列的值从中选择行? 在SQL中,我将使用: 问题答案: 要选择列值等于标量的行,请使用: 要选择列值可迭代的行,请使用: 结合以下条件: 注意括号。由于Python的运算符优先级规则,绑定比和更紧密。因此,最后一个示例中的括号是必需的。没有括号 被解析为 这导致一个系列的真值是模棱两可的错误。 要选择列值不相等的行 ,请使用:

  • 我只是在尝试使用更复杂的语句时修补SQL。我不知道这是否符合条件,但请指导如何进行。 我已经研究了连接和一些关于多个Select语句的问题,但无法正确理解它们。 我有以下两张表: emp表: 图书目录: 其中books表中的是引用emp表的外键。 我需要从特定组织的books表中获取所有记录。但除此之外,我还需要在结果中获得各个员工的所有数据,如姓名、地址。 请给我指引正确的方向。 谢谢

  • 我的代码是这样的:我想选择两个表中的数据 和myeclipese给出错误消息: 请帮帮我,我测试了一整夜! 我的MainType实体如下所示: 和映射,如下所示: