繁体   English   中英

使用Java持久性检索所有主键

[英]Retrieve all primary keys using Java Persistence

我有一个函数“ checkPatientId”,它以“ Patient_id”作为参数,并且如果表“ Patient_personal_details”中存在“ patient_id”,则返回“ 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。 我已经生成了实体类和持久性单元,还建立了数据库连接。 PS我正在使用Netbeans 8.0.2 Enterprise。

实体对象可以被唯一地标识并且通过使用检索到的find() EntintyManager的方法em尝试为: Patient patient= em.find(Patient.class, 1); 其中1是主键。 如果在数据库中找不到对象,则返回null。

实体对象可以通过使用唯一地标识和检索

T getReference method of EntintyManager em 

尝试作为:

Patient patient= em.getReference(Patient.class, 1); 

其中1是主键。 如果在数据库中找不到对象,则返回null

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM