坚持只在丑陋的方式中起作用#34;

时间:2015-02-12 08:56:00

标签: java-ee jpa persistence

我有一个关于javaEE持久性的奇怪案例。

以下代码不起作用,但据我所知,它应该:

父母的

private List<GyOBHatarozat> hatarozatok;

@OneToMany(
  mappedBy = "orokbefGyermek",
  cascade = CascadeType.ALL,
  orphanRemoval = true)
public List<GyOBHatarozat> getHatarozatok() {
  return hatarozatok;
}

public void setHatarozatok(List<GyOBHatarozat> hatarozatok) {
  this.hatarozatok = hatarozatok;
}

在孩子身上:

//no annotation
private GyGyermek orokbefGyermek;

@ManyToOne(optional = false)
@JoinColumn(name = "OROKBEF_GYERMEK_ID")
public GyGyermek getOrokbefGyermek() {
  return orokbefGyermek;
}

以下是适用的代码:

父母的

private List<GyOBHatarozat> hatarozatok;

@OneToMany(
  mappedBy = "orokbefGyermek",
  cascade = CascadeType.ALL,
  orphanRemoval = true)
public List<GyOBHatarozat> getHatarozatok() {
  return hatarozatok;
}

public void setHatarozatok(List<GyOBHatarozat> hatarozatok) {
  this.hatarozatok = hatarozatok;
}

在孩子身上:

@ManyToOne
private GyGyermek orokbefGyermek;

@ManyToOne(optional = false)
@JoinColumn(name = "OROKBEF_GYERMEK_ID")
public GyGyermek getOrokbefGyermek() {
  return orokbefGyermek;
}

如果我将所有注释移动到字段:不起作用,如果我将所有注释移动到getter,则不起作用。如果我在getter上删除ManyToOne注释,但将其保留在字段上,则不起作用。

有人可以解释JPA注释的这种奇怪行为吗?我找不到任何有用的线索。

0 个答案:

没有答案