0

我正在制作一个数据库优先的休眠 api。

我让 netbeans 从数据库中生成 POJO 和映射文件。(使用“Hibernate Mapping files and POJO's from database”)

数据库中的外键现在是对 POJO 的引用。

例如:A类与B类有外键关系,那么A类POJO为:

Class A {
    private B b;
    private Integer idA;

    public A (B b){
        this.b = b;
    }
    //const, getter, setter

}

如果我想创建一个新的 A 对象并将其插入数据库(使用 Hibernate.session.persist(a)),我会遇到问题。

看来我还必须创建一个 B 对象(但是这个 B 对象具有表 C 的外键等等)

所以我应该不使用 session.persist,而是编写一个 hql 查询来插入一个新的 A 对象

Query q = session.createQuery(INSERT INTO A (idB) 2);
q.executeUpdate(q);

(或者使用 hql 查询是否比使用 session.persist(a) 有缺点?)

或者我应该手动编辑 POJO 和映射文件以包含表 B id,而不是 B 类对象?

还是我忽略了什么?

在此先感谢,如果我需要提供任何其他信息,请告诉我问候

4

0 回答 0