Khá nhiều khi nói nó trong tiêu đề. Tôi có một lớp học mà trông giống như sau:Làm thế nào để ánh xạ chuỗi thành chuỗi DB trong Hibernate
@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; }
}
Sử dụng Oracle 11g, cột FOO_ID
là một VARCHAR2
, nhưng chuỗi SQ_FOO_ID
mang lại một NUMBER
. Cơ sở dữ liệu dường như hài lòng với điều này, nhưng ứng dụng cần có khả năng hỗ trợ các ID không phải là số có thể đã được chèn vào cột này bên ngoài ứng dụng.
Xem xét mã ở trên, tôi nhận được org.hibernate.id.IdentifierGenerationException: Unknown integral data type for ids : java.lang.String
. Có cách nào để thực hiện ánh xạ này không?
Sử dụng Hibernate 3.6.