遇到这样的问题,用hibernate 开发,myeclipse 反向生成映射文件,现有表eventAlert,此表是个没有主键的表,生成的映射文件,如下:
<hibernate-mapping>
<class name="com.tomsync.vo.EventAlert" table="EventAlert" catalog="obm">
<composite-id name="id" class="com.tomsync.vo.EventAlertId">
<key-property name="eventalertTimeupdate" type="java.util.Date">
<column name="eventalert_timeupdate" length="19" />
</key-property>
<key-property name="eventalertTimecreate" type="java.util.Date">
<column name="eventalert_timecreate" length="19" />
</key-property>
<key-many-to-one name="userObm" class="com.tomsync.vo.UserObm">
<column name="eventalert_userupdate" />
</key-many-to-one>
<key-many-to-one name="userObm_1" class="com.tomsync.vo.UserObm">
<column name="eventalert_usercreate" />
</key-many-to-one>
<key-many-to-one name="event" class="com.tomsync.vo.Event">
<column name="eventalert_event_id" />
</key-many-to-one>
<key-many-to-one name="userObm_2" class="com.tomsync.vo.UserObm">
<column name="eventalert_user_id" />
</key-many-to-one>
<key-property name="eventalertDuration" type="java.lang.Integer">
<column name="eventalert_duration" />
</key-property>
</composite-id>
<many-to-one name="userObmByEventalertUserupdate" class="com.tomsync.vo.UserObm" update="false" insert="false" fetch="select">
<column name="eventalert_userupdate" />
</many-to-one>
<many-to-one name="userObmByEventalertUserId" class="com.tomsync.vo.UserObm" update="false" insert="false" fetch="select">
<column name="eventalert_user_id" />
</many-to-one>
<many-to-one name="event" class="com.tomsync.vo.Event" update="false" insert="false" fetch="select">
<column name="eventalert_event_id" />
</many-to-one>
<many-to-one name="userObmByEventalertUsercreate" class="com.tomsync.vo.UserObm" update="false" insert="false" fetch="select">
<column name="eventalert_usercreate" />
</many-to-one>
</class>
</hibernate-mapping>
如上,虚拟出类 com.tomsync.vo.EventAlertId 作为它的主键,在项目中,读取,没有问题,当我要对 com.tomsync.vo.EventAlertId 类中的 eventalertDuration 做更新的时候,不抱异常,项目运行一切正常,但是,库中的数据就是没有改过来。还是新建时候的数据。
请问,对于虚拟出来的主键 com.tomsync.vo.EventAlertId 类中的属性 eventalertDuration 是不是不可修改?
分享到:
相关推荐
在Java的持久化框架Hibernate中,无主键表映射是一种特殊情况,主要处理那些在数据库中没有明确单一主键的表。这种情况通常出现在那些通过多个字段共同唯一标识一条记录的复合主键(Composite Key)场景。本文将详细...
联合主键(Composite Primary Key),是指在数据库表中使用两个或多个字段共同作为主键来唯一标识每一行记录。这种方式在实际应用中非常常见,尤其是在需要通过多维度数据来确定唯一性的场景下。 ### Hibernate联合...
"Hibernate复合主键" Hibernate复合主键是指在 Hibernate 框架中使用复合主键来唯一标识一个实体。复合主键是指由多个字段组成的主键,用于唯一标识一个实体。在本例中,我们将通过一个简单的复合主键的做关联类的...
然而,当我们面临复杂的数据表结构,尤其是涉及到复合主键时,如何在Hibernate中进行配置和使用就显得尤为重要。本文将深入探讨Hibernate对复合主键的支持,帮助开发者更好地理解和应用这一特性。 一、什么是复合...
在Java的持久化框架Hibernate中,复合主键(Composite Key)是一种特殊的数据结构,用于处理具有多个字段作为唯一标识的情况。本教程将深入探讨如何在Hibernate中设置复合主键,并提供一个可直接使用的配置示例。 ...
在Java的持久化框架Hibernate中,一对一(OneToOne)关系是一种常见的对象关系映射(ORM)配置,用于表示两个实体类之间的一种唯一关联。在这个场景中,“hibernate使用主键关联的一对一关系”指的是通过共享主键来...
在Java的持久化框架Hibernate中,主键生成策略是一个至关重要的概念,它决定了数据库表中主键值如何自动生成。主键通常是表中唯一标识记录的一列,对于数据的完整性和一致性至关重要。以下是对Hibernate中主键生成...
其中,主键生成策略是Hibernate配置中的一个重要部分,它决定了表中的主键值如何生成。本文将重点介绍在Oracle数据库环境下,使用Hibernate的“native”策略来生成主键的具体方法及注意事项。 #### 二、主键生成...
在Java持久化框架Hibernate中,联合主键(Composite Key)是一种特殊的数据结构,用于标识数据库表中的一条记录。与单个字段作为主键不同,联合主键由两个或更多个字段共同组成,形成一个唯一的标识。在本教程中,...
以下是关于Hibernate主键生成方式的详细说明: 1. **Identity方式**:`<generator class="identity"/>` 这种方式依赖于数据库自身的自动增长机制。例如,在MySQL中,它可以与`AUTO_INCREMENT`属性配合使用。当...
在Java的持久化框架Hibernate中,复合主键(Composite Key)是一种特殊的数据模型,它用于表示由多个属性共同构成的唯一标识。这种设计通常出现在实体类的某些属性组合起来才能唯一确定一个对象的情况下。本篇文章将...
以下是对Hibernate主键生成策略的详细说明: 1. **assigned**: 这种策略要求用户在调用`save()`方法之前手动设置主键值。Hibernate不参与主键的生成,这意味着主键生成完全由应用控制,可以与数据库无关。这种...
Hibernate 是一款开源的对象关系映射 (ORM) 框架,它允许开发人员将 Java 对象映射到数据库表中的记录,从而极大地简化了数据访问层的开发工作。在 Hibernate 中,主键生成策略是一个重要的概念,用于指定如何为持久...
在Java Hibernate框架中,联合主键(Composite Key)是指由两个或多个属性共同构成的主键,这在处理一些特定的数据模型时非常有用。本文将详细介绍如何使用Hibernate注解来定义联合主键。 首先,我们需要了解联合...
在Java的持久化框架Hibernate中,复合主键(Composite Key)是一种特殊的数据结构,用于处理具有多个字段作为唯一标识的情况。本实例将深入探讨如何在Hibernate中实现复合主键,并提供一个具体的示例来帮助理解。 ...
只有在处理 Teacher 时,Hibernate 才会更新中间表。 - 如果两端都是 `inverse="true"`,则会导致关系的维护失效,因为两边都不会插入中间表的记录。这样,中间表可能不会反映出实际的关联关系。 - 相反,如果...
Hibernate 是一款开源的对象关系映射 (ORM) 框架,它极大地简化了 Java 应用程序与数据库之间的交互过程。在使用 Hibernate 进行持久化操作时,经常需要处理实体类的主键问题。Hibernate 提供了多种主键生成策略,每...
刚学习JAVA,所以找了点资料给以后新学的朋友方便
这意味着这两个实体的表在数据库中通过主键进行连接,一个实体的主键同时也作为另一个实体的外键。 在Hibernate中,我们可以使用`@OneToOne`和`@PrimaryKeyJoinColumn`注解来实现这种关联。`@OneToOne`用于声明一对...