java - hibernate避免id

标签 java oracle hibernate hibernate-mapping

这是我第一次使用 hibernate,所以如果我想寻求简单的建议,请原谅我。
我目前正在使用 xml 映射一个类(无注释),我不这样做我的表上有该 ID,但有人告诉我,我必须使用 Hibernate 来使用 ID,因此,我在表中创建了 SMS_MONITORING_ID 字段,并将其映射如下:

 <class name="smsbox.dal.model.SmsMonitoring" table="MST_SMS_MONITORING">
    <comment></comment>

    <id name="smsMonitoringId" type="long">
        <column name="SMS_MONITORING_ID" />
        <generator class="native" >
            <param name="sequence">ID_SMS_MONITORING</param>
        </generator>

    </id>

我已经在我的oracle数据库(ID_SMS_MONITORING)上创建了一个序列,并且我根本不希望hibernate处理该id,我什至想避免在我的java代码中引用任何id(当我保存对象)。
我怎样才能实现让hibernate忽略分配id的整个过程的愿望?

P.S 我正在将 id(长)映射到 Oracle“数字”类型,避免可能出现问题的规则是什么(长不适合数字,反之亦然)任何人都可以给我提供一些解释的链接以及映射类型 Hibernate 和 Oracle DB(我自己没有发现任何有趣的东西)。
谢谢

最佳答案

如果您引用 Hibernate 文档:

http://docs.jboss.org/hibernate/core/3.3/reference/en/html/mapping.html#mapping-declaration-id

您会看到该标签是可选的。不定义它相当于将其设置为“已分配”(换句话说,您的应用程序将处理 id 分配)。

关于java - hibernate避免id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7482358/

相关文章:

java - 如何使用 LocalDateTime 解析/格式化日期? (Java 8)

java - 处理两个 JDBC 驱动程序的通用 JDBC 驱动程序

python - 如何从相似记录中获取最后日期? | Django

java - Hibernate @OneToOne 与多个对象的关系?

java - 使用 Hibernate 查询语言和 'like' 获取数据

java - 水平添加多个列表

java - AlarmManager 被立即触发,因为时间过去了

java - 如何将用户创建的连接传递给 hibernate

java - 无法在 Glassfish3 上使用 JDBC 连接到数据库

Hibernate 实体作为静态类