java - Hibernate 条件示例

标签 java hibernate swing desktop-application criteria

我有表 'Stores' 和 'Item' 。 Item 表包含“Category”、“Brand”、“itemcode”列。 此外,我将类别详细信息和品牌详细信息保存在另外 2 个名为类别和品牌的表中。 Stores 表具有名为 item 和 qty 的位置。我的 hibernate 实体类是 Stores、Item、Category、Brand。
我想通过 hibernate 从商店获取给定商品的商品。根据用户的喜好设置商品的类别和品牌名称。(这意味着,用户从 swing 用户界面中选择类别和品牌,然后应用程序必须设置具有给定类别和品牌名称的项目。)应根据商店中的给定项目选择项目。这是我的做法:

 Stores stores = new Stores();  

 Item item = new Item();  
 if (isBrandNameMode()) {  //here checks if user select a brand in IF clause
     item.setBrands(selectedBrand);  
     //selectedBrand is an brand object which user selected  
 }  

 if (isCategoryode()) {// here checks if user select a category in IF clause
     item.setSizeModel(selectedSize);  
     //user selected 
 }   

 Criteria cr=HSession.getSession().createCriteria(Stores.class);  
 cr.add(Restrictions.eq("item", item));  
 List l=cr.list();  
 System.out.println("list size is: "+l.size());

但是这里所有的商店元素都被退回,但不是给定的元素。
我也试过 Critataria Example

stores.setItem(item);<br/> cr.add(Example.create(stores))但退回了商店中的所有元素。如何根据给定的商品从商店中获取商品。

最佳答案

您是否在 Item 类中定义了 equals/hashcode?

关于java - Hibernate 条件示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8132023/

相关文章:

java - Hibernate 4 中已弃用实体。那么我应该使用什么来代替呢?

java - Spring JPA 不在更新时验证 bean

java - 如何在 JDialog 打开时暂停执行

java - 无法看到我绘制的所有图像并且无法让 JScrollPane 工作

java - 在客户端和服务器 Bootstrap 之间共享 EventLoopGroup

java - 非静态值的延迟初始化

java - 将 ForkJoinPool 与 AsyncHttpClient 一起使用 - 这有意义吗?

java - 使用单向或双向关系的不同行为

Java > 在现有图像上绘制多个矩形

java - JTree setSelectionPaths 展开时间太长