0
このような問題を解決するには、私は助けが必要です。アプリケーションはいくつかのDB(MySQL、Oracle)をサポートする必要があります。 JBoss 7のエンティティIDへの移行後、自動生成が壊れました。 Etity例:OracleのJBoss AS 7でMySQLのID自動生成
@Entity
@Table(name="foo")
public class Foo {
private Integer id;
private String model;
@Id
@SequenceGenerator(name="foo_seq_gen", sequenceName="foo_0", initialValue=1, allocationSize=1)
@Column(name="id", updatable=false)
@GeneratedValue(generator = "foo_seq_gen")
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
@Column(name="model", length=64, updatable=false)
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
}
それが正常に動作します。しかし、MySQLの次のエラーで操作を作成し実行しようとしたときには、occures:
15:34:56,290 ERROR [org.hibernate.util.JDBCExceptionReporter] (http-localhost-127.0.0.1-8080-1) Table 'scheme.foo_0' doesn't exist
は、このようにMySQLはネイティブの自動生成のメカニズムを使用するのではなく、シーケンスとして存在しないテーブルにアクセスしようとします。
誰かが治癒を知っていますか?
"テーブル"ジェネレータ戦略を使用しても役に立ちませんでした。
環境:
MySQL 5.5.16;
JBoss AS 7.1.0.Beta1;
Hibernate 3.6.1.
感謝。