这是代码:
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) 我有类似的字符串 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)
单个正则表达式是否有可能实现这两个条件?