相关疑难解决方法(0)

如何在Hibernate中将字符串映射到DB序列

几乎在标题中说出来.我有一个看起来像这样的类:

@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; }
}
Run Code Online (Sandbox Code Playgroud)

使用Oracle 11g,FOO_ID列是a VARCHAR2,但序列SQ_FOO_ID产生a NUMBER.数据库显然对此感到满意,但应用程序需要能够支持可能已在应用程序外部插入此列的非数字ID.

考虑到上面的代码,我得到了一个org.hibernate.id.IdentifierGenerationException: Unknown integral data type for ids : java.lang.String.有没有办法做这个映射?

使用Hibernate 3.6.

java oracle hibernate

12
推荐指数
2
解决办法
1万
查看次数

标签 统计

hibernate ×1

java ×1

oracle ×1