使用Java Persistence检索特定的表行

时间:2015-03-02 16:26:14

标签: jpa persistence jpa-2.0 entitymanager java-ee-7

我有一张表patient_details(patient_id,first_name,last_name,地址,date_of_birth,性别,contact_number,职业)。我已经生成了一个实体类和一个PersistenceUnit。我只能使用其ID找到一个对象:

PatientDetails pd = em.find(PatientDetails.class,patient_id);

我想知道如何使用其他列名而不是主键来查找对象。

2 个答案:

答案 0 :(得分:0)

答案 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推荐的链接