我有一个函数“checkPatientId”,它将参数作为“patient_id”,如果patient_id存在于表“patient_personal_details”中则返回“Valid”,如果不存在,则返回“Invalid”。
public String checkPatientID(int patient_id) throws RemoteException{
String result = "Valid";
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/hospital_database","root","");
String sql = "SELECT patient_id FROM patient_personal_details";
Statement s = con.createStatement();
s.execute(sql);
ResultSet rs = s.getResultSet();
if(rs!=null){
while(rs.next()){
int num = rs.getInt(1);
if(num == patient_id){
result = "Invalid";
}
}
}
}
catch(SQLException e){
System.out.println("Error: "+e);
}
catch(ClassNotFoundException e){
System.out.println("Error: "+e);
}
return result;
}
我想知道如何使用Java Persistence而不是SQL来检索和检查patient_id。我已经生成了我的实体类和持久性单元,并且还建立了我的数据库连接。 P.S我正在使用Netbeans 8.0.2 Enterprise。
答案 0 :(得分:1)
可以使用EntintyManager find()
的{{1}}方法唯一标识和检索实体对象。请尝试为:em
其中1是主键。如果在数据库中找不到对象,则返回null。
答案 1 :(得分:0)
可以使用
唯一标识和检索实体对象T getReference method of EntintyManager em
尝试为:
Patient patient= em.getReference(Patient.class, 1);
其中1是主键。如果在数据库中找不到对象,则返回null
。