我有一张表patient_details(patient_id,first_name,last_name,地址,date_of_birth,性别,contact_number,职业)。我已经生成了一个实体类和一个PersistenceUnit。我只能使用其ID找到一个对象:
PatientDetails pd = em.find(PatientDetails.class,patient_id);
我想知道如何使用其他列名而不是主键来查找对象。
答案 0 :(得分:0)
查看JPQL或JPA Critera。
https://docs.oracle.com/html/E24396_01/ejb3_langref.html
答案 1 :(得分:0)
例如:
如果
class PatientDetails
String first_name;
@Column(",date_of_birth")
Date birth;
...
}
然后
String sql = "SELECT p FROM PatientDetails p where p.first_name = :fname and p.birth > :generation";
Date generation = new Date(int 1980, 0, 1);
TypedQuery<PatientDetails> query = EM.createQuery(sql);
query.setParameter("fname","John");
query.setParameter("generation",generation);
return query.getResultList
返回称为约翰的病人,并于1980年后出生。
但是你应该阅读@ pL4Gu33推荐的链接