Tüm satırları EclipseLink'te tablodan almaya çalışıyorum.Tablodan tüm kayıtları al - EclipseLink
Ben nesnelerini db'den JPA araçlarıyla oluşturdum. Bu sonuç ise: İnsanların tüm kayıtları almak için Sorgu nesnesi oluşturmak birçok sayfa bulundu
@Entity
@Table(name="employee", schema="hr")
@NamedQuery(name="Employee.findAll", query="SELECT e FROM Employee e")
public class Employee implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer id;
private String name;
public Employee() {
}
public Integer getId() {
return this.id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
ama tekrar böyle "select" sorgu tanımlamak.
public List<Employee> getEmployees() {
EntityManagerFactory factory = Persistence.createEntityManagerFactory("ResourcesService");
EntityManager em = factory.createEntityManager();
Query q = em.createQuery("from Employee e", Employee.class);
return q.getResultList();
}
sadece sınıf adını kullanarak, bu sorgulamak için bir daha basitleştirilmiş bir yolu var mı:
Query q = em.createQuery("select e from Employee e");
Ama bir araştırma yapıyor, nihayet böyle bir şey bulduk? Eşlenen varlık zaten seçme sorgusunu içerdiğinden.
yerine bu kurgusal örnekte böyle bir şey yapmak için bu
Query q = em.createQuery("from Employee e", Employee.class);
yapmanın anlamı:
Query q = em.createQuery(Employee.class);
teşekkürler. Varlığımdaki varlığım farkında değildim. Eclipinkink framework tarafından otomatik olarak kullanıldığını düşündüm. Ve ek olarak, bunu konfigürasyonun bir parçası olarak değiştiremeyeceğini düşündüm. Şimdi bunun daha esnek olduğunu biliyorum. –
Harika. İstediğiniz tüm 'NamedQueries' oluşturabilirsiniz. –