Java Eclipse链接简单连接
如何在eclipselink中进行简单的连接查询?我不想收到ArrayList; 例如,我有两个实体:Java Eclipse链接简单连接,java,join,eclipselink,Java,Join,Eclipselink,如何在eclipselink中进行简单的连接查询?我不想收到ArrayList; 例如,我有两个实体: public class A implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Basic(optional = false) @Column(name = "id") private Long id; @Column(name = "value") privat
public class A implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id")
private Long id;
@Column(name = "value")
private String value;
@OneToMany(mappedBy = "aid")
private Collection<B> bCollection;
}
我想执行如下查询:
Select * From A a Join B b ON a.id = b.a_id Where a.value = '1';
我这样做:
EntityManager em = createEntityManager();
Query q = em.createQuery("Select a From A a Where a.value = 1");
q.setHint("eclipselink.join-fetch", "a.bCollection");
Object result = q.getResultList();
我收到一个对象,它有一个到B对象的链接(B集合),B对象有一个对象上的链接(aid),等等。正常吗?正常。在
双向映射
中,即父对象指子对象,子对象指父对象,它是正常的。但是如果你不无限期地访问循环图,你就很好了
EntityManager em = createEntityManager();
Query q = em.createQuery("Select a From A a Where a.value = 1");
q.setHint("eclipselink.join-fetch", "a.bCollection");
Object result = q.getResultList();