我正在制作一个数据库优先的休眠 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 类对象?
还是我忽略了什么?
在此先感谢,如果我需要提供任何其他信息,请告诉我问候