Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JBoss AS 7上MySQL的ID自动生成_Mysql_Hibernate_Jboss7.x - Fatal编程技术网

JBoss AS 7上MySQL的ID自动生成

JBoss AS 7上MySQL的ID自动生成,mysql,hibernate,jboss7.x,Mysql,Hibernate,Jboss7.x,我需要帮助来解决这个问题。应用程序需要支持多个数据库(MySQL、Oracle)。迁移到JBoss 7后,实体id自动生成被破坏。 例如: @Entity @Table(name="foo") public class Foo { private Integer id; private String model; @Id @SequenceGenerator(name="foo_seq_gen", sequenceName="foo_0", initialVa

我需要帮助来解决这个问题。应用程序需要支持多个数据库(MySQL、Oracle)。迁移到JBoss 7后,实体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执行创建操作时,出现以下错误:

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.

谢谢。

我不确定您是否需要用于Oracle的
@SequenceGenerator
,但对于JBoss AS 7.1.0.CR1b和MySQL,我在ID自动生成和此注释方面没有问题:

@Id @GeneratedValue(strategy=GenerationType.AUTO)
private long id;