我将实体持久存储到mysql数据库。我的要求是将ID存储为BR01,BR02等,而不是存储为1,2等。
我如何将ID存储为BR01,BR02等。
我知道mysql数据库不支持序列。
我的实体类如下:
package com.kabira.hrm.model;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.TableGenerator;
@Entity
@Table(name="branch")
public class Branch
{
private Long id;
private String country;
private String state;
private String city;
private String address;
private String phoneNumber;
@Id
@GeneratedValue
public Long getId()
{
return id;
}
public void setId(Long id)
{
this.id = id;
}
public String getCountry()
{
return country;
}
public void setCountry(String country)
{
this.country = country;
}
public String getState()
{
return state;
}
public void setState(String state)
{
this.state = state;
}
public String getCity()
{
return city;
}
public void setCity(String city)
{
this.city = city;
}
public String getAddress()
{
return address;
}
public void setAddress(String address)
{
this.address = address;
}
public String getPhoneNumber()
{
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber)
{
this.phoneNumber = phoneNumber;
}
@Override
public String toString()
{
return "Branch [id=" + id + "]";
}
}
最佳答案
您可以扩展org.hibernate.id.enhanced.SequenceStyleGenerator
并将其与@GenericGenerator批注一起使用。