这是我的pojo课程
@Entity
public class Department {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="Department_Id")
private Integer deptId;
@Column(name="Department_Name",unique=true,nullable=false)
private String deptName;
@Column(name="Department_Description")
@NotNull
private String deptDesc;
//geters and setters
Run Code Online (Sandbox Code Playgroud)
我想要的是department_id必须是此Department表的主键,此键的条目必须为DEP0001,DEP0002,DEP0003
对不起,如果已经问过这个问题,我已经阅读了一些文章,但没有找到答案.
我的目标是创建具有唯一字段IMEI的实体设备,并且我想将其用作质量密钥,并在设备注册时指定它(在创建实体时指定manualy).我使用Spring roo工具进行开发,并将hibernate用作ORM.
当我在实体声明中指定它时:
@RooJavaBean
@RooToString
@RooJpaActiveRecord(identifierField = "IMEI", identifierType = String.class)
public class Device {...}
Run Code Online (Sandbox Code Playgroud)
我得到了这个.
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "IMEI")
private String Device.IMEI;
Run Code Online (Sandbox Code Playgroud)
使用mysql db将项目部署到服务器时出现此错误
2013-03-17 20:03:23,136 [main] ERROR org.hibernate.tool.hbm2ddl.SchemaExport - HHH000389: Unsuccessful: create table device (imei varchar(255) not null auto_increment, model varchar(255), name varchar(255) not null, version integer, primary key (imei))
2013-03-17 20:03:23,136 [main] ERROR org.hibernate.tool.hbm2ddl.SchemaExport - Incorrect column specifier for column 'imei'
Run Code Online (Sandbox Code Playgroud)
然后我用.覆盖roo生成的字段
@Id
@GeneratedValue(generator = "org.hibernate.id.Assigned")
@Column(name = "the_code")
private String code;
Run Code Online (Sandbox Code Playgroud)
(我 …
我对 Spring Boot 很陌生,模型中有一个 Id(主键),它是 String,我需要在保存新实体时自动生成它。
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private String id;
private String name;
private String description;
Run Code Online (Sandbox Code Playgroud)
但是,保存新实体时出现此错误。
"message": "Unknown integral data type for ids : java.lang.String; nested exception is org.hibernate.id.IdentifierGenerationException:
Run Code Online (Sandbox Code Playgroud)
如何避免此错误并在id保存新实体时自动生成。