我需要通过枚举类型从数据库中获取数据。 以下是我的枚举:
public enum ShopType {
VANS("VANS"), ATTICUS("ATTICUS"), FAMOUS("FAMOUS")
ShopType(String label) {
this.label = label;
}
private String label;
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
}
在我的DAO类中,我有一个方法,它通过在jsp页面上选择的类型返回对象列表。在jsp页面上,我发送选定的值,例如字符串,这样做正确吗?
以下是我的方法:
@Transactional
public List<Shop> findByType(String type) {
return sessionFactory.getCurrentSession().createQuery("from Shop where type=" + ..... .list();
}
我不知道如何创建正确的查询语句。我的枚举值是存储在数据库中的 tinyint 类型。
以下是一个模型。
@Column(name = "type")
@Enumerated(EnumType.ORDINAL)
private ShopType type;