首先:一个枚举类:
package com.bigdata.lab.ymlib.model;
import java.util.Objects;
/**
*
* @author: Jason.Huang
* @date: 2017年10月13日 上午11:30:02
* @version V1.0
*/
public enum LanguageType {
zh_cn("zh-cn"),
zh_tw("zh-tw"),
en("en"),
all("all");
private String lang;
LanguageType(String lang){
this.lang = lang;
}
public String getValue(){
return this.lang;
}
public static LanguageType fromString(String value){
Objects.requireNonNull(value, "value can not be null");
LanguageType languageType = null;
if("zh-cn".equals(value)){
languageType = zh_cn;
}
else if("zh-tw".equals(value)){
languageType = zh_tw;
}
return languageType;
}
}
实体类 如下:
package com.bigdata.lab.ymlib.model;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.Table;
/**
* 促销商品实体
*
* @author: Jason.Huang
* @date: 2017年10月11日 上午10:25:16
* @version V1.0
*/
@Entity
@Table(name = "ym_sale_activity_item")
public class SaleActivityItem extends BaseEntity {
private LanguageType languageType;
private String activityId;
private String literId;
private String goodsTitle;
private String goodsTips;
private Double originalPrice;
private Double actualPrice;
}
@Converter
public class LanguageTypeConverter implements AttributeConverter<LanguageType, String> {
@Override
public String convertToDatabaseColumn(LanguageType attribute) {
return attribute.getValue();
}
@Override
public LanguageType convertToEntityAttribute(String dbData) {
return LanguageType.fromString(dbData);
}
}
然后在使用的实体当中加注解:
@Enumerated(EnumType.STRING)
@Column(name = "languageType")
private LanguageType languageType;
ok现在可以尝试做增删改查操作了。