2013-12-03 36 views
1

这是一个简单的问题,但我是Hibernate的新手,在Hibernate 4.2.7中工作。这是我的场景。如何使用Hibernate检查值并从数据库中检索它?

我的产品代码,所以我通过循环值类似的列表:

Vector<productslist> p = prodcts.getlists(); 
int size = p.size(); 
for (int i = 0; i < size; i++) { 
    productslist pl = p.elementAt(i) 
    p.setProductcode(pl.getProductcode()); 
    p.setProductName(pl.getProductName()); 
    session.save(p); 
} 


插入到数据库中,我需要检查,如果在数据库中存在的产品代码之前。如果不是,我可以插入值,如果存在,我需要返回该产品代码的productID。

productID是由数据库自动生成的。

请告知如何做到这一点。

+0

矢量!你真的需要Vector吗? – TheEwook

+0

@TheEwook那!这就是你注意到的最大问题吗? –

+0

**无关注**。 1)你的代码似乎有错误:'p.setProductcode()','p.setProductName()'。 “p”是代码中的* Vector *,所以当然没有这种方法。 2)与你的'productslist'类有关:按照惯例,Java中的类名应该是upper [camelCase](http://en.wikipedia.org/wiki/Pascal_case)(又名PascalCase)。阅读更多[Java编程语言代码约定](http://www.oracle.com/technetwork/java/codeconv-138413.html) – informatik01

回答

1

您可以使用HQL来做到这一点;尝试类似"from products where lower(productcode) = " + productCodeHere是关于HQL的一些教程。

相关问题