java - 如何使用 Hibernate 根据产品名称和价格搜索类别?

标签 java hibernate

我有一个名为 Category 的实体和另一个名为 Product 的实体。每个类别可以有多个产品。我有一个搜索表单来搜索类别。该表单具有三个字段,类别、产品和价格。如果用户输入类别名称,它会显示该类别,如果选择产品名称,将显示该产品的类别,如果选择价格,将显示其产品具有所选价格的那些类别。

我想我应该有两个条件语句,一个是根据类别名称查找搜索,另一个是查找名称或价格符合条件的产品类别,但我想知道是否还有其他更有效的方法是吗?

if(search field category name is provided)
    search for all categories that their name is matched with the provided text
    add the found categories to the list of results
if(search fields product name and/or price are provided)
    search for category of matched products and matched category name if the category name is provided
    add the found categories to the list of results

return the results list

实体

@Entity
public class Category {
  @Id
  @GeneratedValue 
  private long id;
  private long name;

  getters and setters
}

@Entity
public class Product {

  @Id
  @GeneratedValue 
  private long id;
  private String name;
  private float price;
  @ManyToOne(cascade = CascadeType.ALL)
  @JoinColumn(name = "category")
  private Category category;

  getters and setters
}

最佳答案

研究使用 map 界面。

http://docs.oracle.com/javase/7/docs/api/java/util/Map.html

它允许您设置键和值的映射。您可以将某些产品分配给某些键值。我不知道这是否回答了您的问题,但这是一个想法。

关于java - 如何使用 Hibernate 根据产品名称和价格搜索类别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23924327/

相关文章:

java - 具有两个 ID 的实体

java - 如何使用 weblogic 和 JPA 在 Spring 中处理事务

java - 验证组继承

java - 如何添加到 HashMap 中的强制列表?

java - 使用 Java 1.6 中的 Swing 库构建简单的 GUI

java - war 文件的大小是否会以某种方式影响应用程序和/或应用程序服务器的性能?

java - android数据库连接如何?

java - 在运行时更改 Java 应用程序的外观(IDE : Netbeans)

java - MOXy:继承和列表

spring - JPA,外部化列、表或模式名称?