问题标签 [hibernate-annotations]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
database - 休眠中的多个连接关联
我的问题与数据库设计以及如何在 Hibernate 中对该设计进行建模有关。我有两个具有以下主键的表:
BLOCK 到 BLOCK_SHP 是一对多的关系,因为单个块可以具有与其关联的许多不同版本的形状。到现在为止还挺好。
第二个关联是我还希望能够获得 Block 的当前形状。为此,我在 BLOCK 表中添加了另一个属性:
BLOCK_ID 和 CUR_SHAPE_VERSION 现在形成 BLOCK_SHP 表 BLOCK_ID SHAPE_VERSION 的外键。每个块可能有 0 或 1 个当前形状。
在 Hibernate 中,我通过以下方式设置了第二个关联:
@NotFound 注释是必需的,因为 Hibernate 在处理可为空的一对一关联时遇到问题。如果它没有找到关联,它会忽略它而不是抛出错误。
但这对我来说并不是很满意,因为这意味着 Hibernate 并没有真正意识到实体之间的正确关系。例如,如果我查询currentShape is not null,Hibernate 不知道如何正确执行此查询 - 它正在查询block_id is not null 或 cur_shape_version is not null。
所以我想我有几个问题。首先,有没有更好的方法在数据库中对第二个关联进行建模?其次,Hibernate中是否有更好的方法来设置注释,以便更好地理解关系并能够正确查询形状表?
谢谢你的帮助。
java - 我不能将@Value 注释与@Transient 注释一起使用吗?
我有一个类来映射一个使用休眠的表。我想忽略一些变量以将映射用作常量。我想从属性中加载常量值,所以我这样编码:
但是, 的值MY_VALUE
始终设置为 0。我不能将 @Transient 注释与 @Value 注释一起使用吗?还是我错过了其他东西?
hibernate - 序列问题为什么两个实体在使用 hbm2ddl 生成模式时共享相同的序列?
我hbm2ddl
在基于休眠的应用程序中使用来生成数据库模式。hibernate.hbm2ddl.auto
财产的价值是create-drop
。
我正在@Entity
为我的 POJO 类使用注释。
然而,在执行代码时,我不断获得递增的 Id 值。例如,对于 2 个表,Id(即 Prim Key)应以 1 开头。但在 中插入记录后Table 1
,序列从 的下一个值开始Table 2
。它应该从表 2 的 1 重新开始。我试过GenerationType.SEQUENCE
& GenerationType.AUTO
。没有任何作用:-(
hibernate - 如何防止出现 org.hibernate.loader.MultipleBagFetchException
我得到以下异常:
org.hibernate.loader.MultipleBagFetchException:不能同时获取多个包
我用的豆子是:
在 dao 我有以下代码:
我不知道该怎么做才能防止这种异常
java - 在休眠中映射复合外键
我在这里问了一个关于如何设计数据库模式的问题。
总之,我有一个可以包含联系人和组的地址簿。组也可以包含联系人,但只能包含与他们在同一地址簿中的联系人。
通讯录
通讯录编号
联系人
ID
地址簿 ID
组
id
组 id
Group To Contact
id
Addressbook id
Contact id
Group id
通过将地址簿 ID 添加到多对多关系表中,我可以强制地址簿匹配。然而,我对休眠比较陌生,所以:
因此,在开始时,我将拥有上述两个表,并且我需要由 hibernate 以一种在添加或修改集合中的对象时强制地址簿 ID 匹配的方式来控制集合。
hibernate - 休眠多对多映射,用于具有额外列、代理键、额外主键的连接表
我很难为以下场景(来自遗留数据库)解析实体映射(使用注释)
场景一:
场景二:
场景 3:
是否可以使用注释和解释在休眠中显示这些实体?
java - 您如何使用 Hibernate 注释有条件地映射集合?
如果我有一个如下所示的类结构(已删除注释):
Store 永远不会为 null,它是 Person 和 Paint 之间使用的键。目标是匹配与 Swatch 具有相同颜色的所有 Paint 记录与与 Person 相同的存储。但是,Swatch 可能为 null 或其颜色属性可能为 null(在这两种情况下都返回与 Person 具有相同存储的所有 Paint)。
是否有基于 JPA 或 Hibernate 的注释将在绘画集合上构造此查询?
hibernate - Hibernate 注释或 XML 配置
我已经用Hibernate开始了一个新项目。Hibernate 注释是更好的选择还是 Hibernate XML 映射更好?
我已经将 Hibernate 与 XML 配置一起使用,但我不知道注释。
- 在进行基于注释的实现时是否有任何问题?
- 基于注释的应用程序维护是更容易还是更复杂?
- 哪一种更好(即注解或 XML 映射),哪一种被广泛使用?为什么?
- 如果我在不同级别使用不同的数据库,即生产或集成或开发级别,我是否需要更改代码?
注意:我不是在比较两种技术,而是想知道在应用程序中使用最新技术中的哪一种(即两种方式中的一种)。
java - 混淆:@NotNull 与 @Column(nullable = false) 与 JPA 和 Hibernate
当它们出现在 a 的字段/吸气剂上时
@Entity
,它们之间有什么区别?(我通过Hibernate持久化实体)。它们各自属于什么框架和/或规范?
@NotNull
位于 内javax.validation.constraints
。在javax.validation.constraints.NotNull
javadoc中它说带注释的元素不能为空
但它并没有说明元素在数据库中的表示,那么为什么我
nullable=false
要在列中添加约束呢?
database-design - 如何不在休眠中创建列在实体类中包含一些属性
我想在实体接缝中拥有财产。但我不想在数据库中创建列。例如我的实体是;
在这个实体子列表中是映射数据库,但我不想在数据库中映射示例列表。我该怎么办?
谢谢 。