Java 可以使用“吗?”&书信电报;发电机等级=“发电机等级”;org.hibernate.id.enhanced.SequenceStyleGenerator“&燃气轮机&引用;而不是<;发电机等级=“发电机等级”;顺序&燃气轮机;

Java 可以使用“吗?”&书信电报;发电机等级=“发电机等级”;org.hibernate.id.enhanced.SequenceStyleGenerator“&燃气轮机&引用;而不是<;发电机等级=“发电机等级”;顺序&燃气轮机;,java,hibernate,Java,Hibernate,大家好,我收到java.sql.SQLSyntaxErrorException:ORA-02289:sequence不存在异常尝试从hibernate3迁移到hibernate5时,我将映射从“generator class=“sequence”更改为 “generator class=“org.hibernate.id.enhanced.SequenceStyleGenerator” 现在工作正常。请确认这是一个合法的解决方案 谢谢 员工hbm <?xml version="1.0" e

大家好,我收到java.sql.SQLSyntaxErrorException:ORA-02289:sequence不存在异常尝试从hibernate3迁移到hibernate5时,我将映射从“generator class=“sequence”更改为 “generator class=“org.hibernate.id.enhanced.SequenceStyleGenerator” 现在工作正常。请确认这是一个合法的解决方案

谢谢

员工hbm

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> 
<hibernate-mapping>
    <class name="Employee" table="EMPLOYEE" schema="RPTUSER">

        <id name="id" type="int" column="id">
            <generator class="org.hibernate.id.enhanced.SequenceStyleGenerator">
                <param name="optimizer">none</param>
                <param name="sequence_name">testemployee_seq</param>
            </generator>
        </id>

        <property name="firstName" column="first_name" type="string" not-null="true"/>
        <property name="lastName" column="last_name" type="string" />
        <property name="salary" column="salary" type="int"  />
    </class>
</hibernate-mapping>
java

public class Employee {
   private int id;
   private String firstName; 
   private String lastName;   
   private int salary;  

   public Employee() {}
   public Employee(String fname, String lname, int salary) {
      this.firstName = fname;
      this.lastName = lname;
      this.salary = salary;
   }
   public int getId() {
      return id;
   }
   public void setId( int id ) {
      this.id = id;
   }
   public String getFirstName() {
      return firstName;
   }
   public void setFirstName( String first_name ) {
      this.firstName = first_name;
   }
   public String getLastName() {
      return lastName;
   }
   public void setLastName( String last_name ) {
      this.lastName = last_name;
   }
   public int getSalary() {
      return salary;
   }
   public void setSalary( int salary ) {
      this.salary = salary;
   }
}

首先,我要感谢你提醒我

使用
testemployee\u seq

说到点子上,也许你应该这样做

    <id name="id">
        <generator class="sequence">
            <param name="sequence_name">seq_admins</param>
        </generator>
    </id>

seq_管理员
class=“sequence”
在hibernate 5中被弃用。这甚至是OP的问题。
public class Employee {
   private int id;
   private String firstName; 
   private String lastName;   
   private int salary;  

   public Employee() {}
   public Employee(String fname, String lname, int salary) {
      this.firstName = fname;
      this.lastName = lname;
      this.salary = salary;
   }
   public int getId() {
      return id;
   }
   public void setId( int id ) {
      this.id = id;
   }
   public String getFirstName() {
      return firstName;
   }
   public void setFirstName( String first_name ) {
      this.firstName = first_name;
   }
   public String getLastName() {
      return lastName;
   }
   public void setLastName( String last_name ) {
      this.lastName = last_name;
   }
   public int getSalary() {
      return salary;
   }
   public void setSalary( int salary ) {
      this.salary = salary;
   }
}
    <id name="id">
        <generator class="sequence">
            <param name="sequence_name">seq_admins</param>
        </generator>
    </id>