【发布时间】:2017-07-16 00:56:18
【问题描述】:
我整天都在试图解决这个问题。我已经阅读了多个站点和文档,但我可以通过这个。 我正在使用 Java 和 ObjectDB。
我有一个名为 Pedido 的类,它引用 ManyToOne 到一个类 Cliente。
@Entity
public class Pedido {
@Id @GeneratedValue
private long id;
@Embedded private Direccion origen;
@ManyToOne(optional=true)
private Cliente cliente; //Opcional
@Basic(optional=false) private Date fechaYhora; //Fecha en que se debe enviar el coche
}
@Entity
public class Cliente extends Persona{
@OneToMany(mappedBy="Pedido.cliente")
public List<Pedido> pedidos;
}
Persona 类没有什么特别之处。只是几个变数。 String、int 和嵌入式类。
问题是,当我尝试获取客户端列表时,出现错误。
static public List<Cliente> getClientes() throws Exception{
em = EMF.createEntityManager();
List<Cliente> results = null;
try{
TypedQuery<Cliente> query = em.createQuery("SELECT c FROM Cliente c", Cliente.class);
results = query.getResultList();
}finally{
em.close();
}
return results;
}
在这个方法的最后,“results”为空。即使在查询之后。在 em.close() 我得到一个例外:
com.objectdb.o._PersistenceException: 写入值失败 使用反射的字段 entidades.Cliente.pedidos
这有什么问题?我想我在 oneToMany - manyToOne 上的连接不好。但我想不通。
我怎样才能建立正确的连接?如何成功检索列表?
【问题讨论】: