2
我如何在eclipselink中做一个简单的连接查询?我想收到ArrayList; 例如,我有两个实体:Eclipse链接简单连接
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;
}
public class B implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id")
private Long id;
@JoinColumn(name = "a_id", referencedColumnName = "id")
@ManyToOne
private A aid;
}
我想是这样执行的查询:
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对象(bCollection),它在A对象上有一个链接(aid),并且是无限期的。这是正常的吗?