java - oracle中使用hibernate自动增量列

标签 java hibernate

我正在使用 hibernate 注释。我想创建一个自动增量的列。我在数据库(oracle)中创建了一个序列,并将该序列映射到 java POJO 类中。我还需要为该序列创建触发器吗?我想知道如何在使用 hibernate 注释时使列自动递增?我必须在java和数据库方面做哪些改变?请帮助我。以下是我映射序列的代码部分。

public class SimRuns implements Serializable {

    private static final long serialVersionUID = 8698324570356602407L;

    @Id @Column(name = "RUN_ID")
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="seq_run_id")
    @SequenceGenerator(name="seq_run_id", sequenceName="seq_run_id")
    private Long runId;
}

最佳答案

这对我有用:

@Id
@GeneratedValue(generator = "nosicSeq")
@SequenceGenerator(name = "nosicSeq", sequenceName = "NOSIC_SEQ", allocationSize = 1)
@Column(name = "SID")
private BigDecimal sid;

数据库中不需要触发器,只需序列。

关于java - oracle中使用hibernate自动增量列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16393299/

相关文章:

java - 如何获取正在运行的JAR文件的路径?

java - 获取sql记录并存储在hashmap中

java - Hibernate查询与SQL相比真的节省时间吗?

hibernate - EHCache SizeOf 警告

java - 如何在 Android Java 中以编程方式选择第一个芯片作为默认芯片?

java - 如何检查 List<Long> 是否包含一个值?

java - 扫描仪 Try Catch 语句导致 java.util.InputMismatchException

java - 如何构建变更跟踪系统——而非审计系统

hibernate - GORM 不工作。由 : org. hibernate.HibernateException 引起的错误:没有为当前线程找到 session

java - 如何使用 Hibernate 根据产品名称和价格搜索类别?