Session s = openSession();
Transaction tx = s.beginTransaction();
Session s = openSession();
// Create a customer
Map david = new HashMap();
david.put("name", "David");
// Create an organization
Map foobar = new HashMap();
foobar.put("name", "Foobar Inc.");
// Link both
david.put("organization", foobar);
// Save both
s.save("Customer", david);
s.save("Organization", foobar);
tx.commit();
s.close();
4条答案
按热度按时间jk9hmnmh1#
如果不使用持久性类,则不会发生数据封装,因此可以直接访问数据。
hibernate查询与pojo类交互以获取数据。
query、criteria、hql所有类都使用pojo获取数据。
hibernate框架主要是为ormMap而设计的。
因此没有pojo类,就不可能与数据库交互。
因此,使用jdbc连接将是剩下的选择。
bnl4lu3b2#
hibernate提供了一种执行sql查询并将其Map到实体或任何类的方法:原生sql查询。
2jcobegt3#
使用Hibernate5版本-5.4.0中引入的动态模型。最终的hibernate动态模型要实现这一点,需要创建hbm文件。
这里customer和organization是表名organization是customer的父级。点击以上链接了解更多详情
3phpmpom4#
使用普通的jdbc。我不知道你说的“表名和所有表名都在不断变化”是什么意思,但我觉得这听起来是个坏主意。
您可以使用字符串连接创建sql查询,然后使用普通jdbc执行它。这样就可以使表名保持动态。