无论hibernate中的其他字段如何,都更新表的特定字段

时间:2012-04-04 17:19:05

标签: java sql hibernate hibernate-mapping

我有很多信息的表。从视图页面更新此表时,我没有加载所有信息。

以下是使用 hibernate

更新表格的代码
HibernateTemplate hibernateTemplateObj = getHibernateTemplate();
        hibernateTemplateObj.update(myEntityBean);

上面一个是更新字段,但我的视图页面上不可见的字段将更新为空白。

所以,我在下面用了一个......

HibernateTemplate hibernateTemplateObj = getHibernateTemplate();
        hibernateTemplateObj.update("myRequiredField", myEntityBean);

根据文档here,它说如果我使用update(“string”,entity),它将更新那些字段。但它的工作方式并不相同。

任何人都可以提出建议。


我发现了一些帖子。

post1 post2

它说,我需要创建查询。但我不知道如何从中创建查询? 如果有人有任何想法..请帮助。我认为这些帖子已知问题了。

1 个答案:

答案 0 :(得分:1)

您可以像这样使用Session对象创建查询。

    SessionFactory factory= HibernateUtil.getSessionFactory();  
    session = factory.openSession();  
    session.beginTransaction();  
    Query query = session.createQuery("Select c.productList from Cart c Where c.cartId=:cartId"); 
    query.setParameter("cartId", cart.getCartId());
    List productList=(List) query.list();
    session.getTransaction().commit();

虽然您知道应该从查询返回什么类型的对象,但您可以将其强制转换并使用它。 您可以编写本机查询或hibernate查询,但我认为hibernate查询更容易。