小编raj*_*esh的帖子

在mysql表hibernate中对枚举列执行条件查询时获取错误

这是代码:

Session session = sessionFactory.getCurrentSession();
Criteria criteria = session.createCriteria(Contact.class)
    .add(Restrictions.like("gender", "male", MatchMode.ANYWHERE)));
List<Object[]> contactList = criteria.list();
Run Code Online (Sandbox Code Playgroud)

性别是Contact.java中的枚举类型列

@Entity
@Table(name = "contact_master")
public class Contact {

      public enum Gender {
           MALE,FEMALE
      }

      @Column(name = "gender")
      @Enumerated(EnumType.STRING)
      private Gender gender;

      public Gender getGender() {
         return gender;
      }

      public void setGender(Gender gender) {
          this.gender = gender;
      }

}
Run Code Online (Sandbox Code Playgroud)

当我运行上面的代码我得到例外,如:

java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Enum
Run Code Online (Sandbox Code Playgroud)

java mysql enums hibernate criteria

6
推荐指数
1
解决办法
1153
查看次数

如何在单个正则表达式java中替换除最后一次出现以外的所有出现和除(a-zA-Z0-9)之外的字符

我有类似的字符串 test.e$xamp[le.test.csv

我需要输出为 test_e_xamp_le_test.csv

现在我想使用正则表达式替换.除了最后一次.出现以外的所有出现和除(a-zA-Z0-9)之外的字符出现_.

目前我正在使用下面的正则表达式,但它取代所有.发生_

str = str.replaceAll("[^a-zA-Z0-9.]", "_");
Run Code Online (Sandbox Code Playgroud)

单个正则表达式是否有可能实现这两个条件?

java regex string

-1
推荐指数
1
解决办法
68
查看次数

标签 统计

java ×2

criteria ×1

enums ×1

hibernate ×1

mysql ×1

regex ×1

string ×1