当我与 JAVA dao architect 一起工作时,我遇到了外键问题

When I work with JAVA dao architect I had a problem when I had a foreign key

我有一个 java 项目关于使用 java ana DAO 设计管理银行账户。我在运营 class 工作取决于客户 class 和帐户(法语 compte)class.


操作变量class是这样的:

private String DateDebut ;
private String DateFin ;
private String NumeroOperation ;
private String TypeOperation ;
private Compte Compte ;
private Client Client ;
public Operation(String numeroOperation, String typeOperation, String dateDebut, String dateFin, Compte compte,Client client) {
    DateDebut = dateDebut;
    DateFin = dateFin;
    NumeroOperation = numeroOperation;
    TypeOperation = typeOperation;
    Compte =compte ;
    Client = client ;
}

然后我在 OperationDAO Class 中写到通过他们的 ID 找到操作:

public Operation findById (String code) {
    Connection  cnx = Sconnection.getInstance() ;
    Operation op=null;
    try {       
    PreparedStatement req = cnx.prepareStatement("select * from operation where numerOperation = ? ");
    req.setString(1, code);
    
    ResultSet res=  req.executeQuery();
        while (res.next())
        {
            op = new Operation(code, res.getString(2),res.getString(3),res.getString(4),res.getString(5),res.getString(6)) ;
            System.out.println(res.getString(2) +" " +res.getString(3)+" " +res.getString(4));
        }
    req.close();
    }catch (SQLException e)
    {System.out.println("Erreur de chargement de client.. verifier !!"+ e.getMessage());}
    
    return op;
    }

但是我在这一行遇到了问题:

op = new Operation(code,res.getString(2),res.getString(3),res.getString(4),res.getString(5),res.getString(6)) ;

但是在数据库操作中Table是这样的

但我不知道如何保存或更新或查找外键变量。

从你的解释中我了解到,你想在操作中保存Compte和Client class。

在初始化操作 class 时出现问题。

由于 NumeroCompt 和 NumeroClient 都是外键,您需要再进行 2 次数据库调用才能从 NumeroCompt 获取 Compt 的详细信息,从 NumeroClient 获取 Client 的详细信息

更新时你也必须这样做。再进行 2 次更新调用以在其他 table.

中保存详细信息

转向使用 Hibernate/JPA 会让您的生活轻松很多。