Hibernate 嵌入的Id字段生成为BLOB而不是Long
使用Hibernate 嵌入的Id字段生成为BLOB而不是Long,hibernate,Hibernate,使用hibernate3.6的shema生成器 org.hibernate.cfg.Configuration.generateSchemaCreationScript 根据Those模型的定义: @Entity @Table(name="ERP_Period") @PrimaryKeyJoinColumn(name = "id") public class ErpPeriod extends Record{ @EmbeddedId private PeriodId c
hibernate
3.6的shema
生成器
org.hibernate.cfg.Configuration.generateSchemaCreationScript
根据Those模型的定义:
@Entity
@Table(name="ERP_Period")
@PrimaryKeyJoinColumn(name = "id")
public class ErpPeriod extends Record{
@EmbeddedId
private PeriodId codeId;
@Override
public PeriodId getCodeId() {
return codeId;
}
public void setCodeId(PeriodId codeId) {
this.codeId = codeId;
}
}
@Embeddable
public class PeriodId {
private ErpFolder folder;
private int exercice;
private int period;
public ErpFolder getFolder() {
return folder;
}
public void setFolder(ErpFolder folder) {
this.folder = folder;
}
}
@Entity
@Table(name="ERP_Folder")
@PrimaryKeyJoinColumn(name = "id")
public class ErpFolder extends AbsErpFolder{
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long codeId;
@Override
public Long getCodeId() {
return codeId;
};
public void setCodeId(Long codeId) {
this.codeId = codeId;
}
}
生成器将ErpFolder字段生成为BLOB,而不是ErpFolder的长id:
create table ERP_Period (exercice integer not null, folder blob not null, period integer not null, label varchar(255), primary key (exercice, folder, period))
数据库异常的结果(正常):
请格式化编解码器,以便您在问题中提供更多的上下文,同时更清楚地说明您实际提出的问题?@Sembrano edit提交了关于提问者行为的说明
org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544351. unsuccessful metadata update
attempt to index BLOB column in INDEX RDB$PRIMARY13
null