【发布时间】:2018-02-20 20:01:17
【问题描述】:
我想获取 kotizacija_id 等于指定 ID 的所有行。这是我在 Controller 中的功能
@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;
}
这是我的 KotizacijeCjenovnikRepository
@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);
}
这是模型 KotizacijeCjenovnik
@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() +
"}";
}
}
但是当我调用函数 getKotizacijeByKotizacijaId 我得到错误:
参数值 [1] 与预期类型不匹配 [java.lang.Long (n/a)];嵌套异常是 java.lang.IllegalArgumentException:参数值 [1] 与预期类型不匹配 [java.lang.Long (n/a)]
我的问题是如何选择外键等于指定值的行。
【问题讨论】: