标题已经基本说明了。我有一个类,看起来像这样:
@Entity
@Table(name="FOO")
public class Foo {
private String theId;
@Id
@Column(name = "FOO_ID")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "fooIdSeq")
@SequenceGenerator(name = "fooIdSeq", sequenceName = "SQ_FOO_ID", allocationSize = 10)
public String getTheId() { return theId; }
public String setTheId(String theId) { this.theId = theId; }
}
在使用 Oracle 11g 数据库时,FOO_ID
列是一个 VARCHAR2
类型,但是序列 SQ_FOO_ID
返回的是一个 NUMBER
类型。虽然数据库似乎能够很好地处理这种情况,但是应用程序需要支持在应用程序之外插入到该列中的非数字 ID。
考虑上述代码,我得到了一个 org.hibernate.id.IdentifierGenerationException: Unknown integral data type for ids : java.lang.String
错误。有没有办法进行这种映射?
使用 Hibernate 3.6。