1

休止状態のリバース エンジニアリングを使用して、MySQL データベースから Java クラスを生成しています。Hibernate Tools で Eclipse Juno を使用しています。
すべて順調に進んでいますが、さらに一歩進めたいのですが、行き詰まっています。

リバース エンジニアリングによって classCalls.javaとclass が生成されたとしUsers.javaます。

/**
 * Calls generated by hbm2java
 */
@Entity
@Table(name = "calls", catalog = "myDB")
public class Calls implements java.io.Serializable {

    private String id;
    private String name;
    private Date dateEntered;
    private String modifiedUserId;
    private String assignedUserId;
...
}

/**
 * Users generated by hbm2java
 */
@Entity
@Table(name = "users", catalog = "myDB")
public class Users implements java.io.Serializable {

    private String id;
    private String userName;
...
}

プロパティmodifiedUserIdassignedUserIdfromCallsは、実際にはインスタンスidからのものUsersです (データベースでは、それらは外部キーです)。

外部キーを 1 つだけ設定すると (たとえば for としましょうassignedUserId)、Calls.java の次の定義が得られます。

/**
 * Calls generated by hbm2java
 */
@Entity
@Table(name = "calls", catalog = "myDB")
public class Calls implements java.io.Serializable {

    private String id;
    private String name;
    private Date dateEntered;
    private String modifiedUserId;
    private Users users;
...
}

ご覧のとおり、 の名前を失いましたassignedUserId
ただし、2 つの外部キー (assignedUserIdmodifiedUserId) を定義すると、タイプ Users になるプロパティは、テーブルで定義された最初の外部キーになります (私の場合はmodifiedUserId)。

/**
 * Calls generated by hbm2java
 */
@Entity
@Table(name = "calls", catalog = "myDB")
public class Calls implements java.io.Serializable {

    private String id;
    private String name;
    private Date dateEntered;
    private Users users;
    private String assignedUserId;
...
}

生成されたクラスで取得したいのはCalls.java、型でmodifiedUserIdありassignedUserId、型UsersではないことですString

/**
 * Calls generated by hbm2java
 */
@Entity
@Table(name = "calls", catalog = "myDB")
public class Calls implements java.io.Serializable {

    private String id;
    private String name;
    private Date dateEntered;
    private Users modifiedUserId;
    private Users assignedUserId;
...
}

これを行う方法についてのヒントはありますか?DB から POJO を生成する方法に関する多くのチュートリアルと、リバース エンジニアリングに関する jboss のドキュメントをチェックしてきました。しかし、生成された POJO クラスにオブジェクトを含める方法についての手がかりが見つかりません。

助けてくれてありがとう!
よろしく、
BS_C3

4

0 に答える 0