问题内容: 我对JPA中的LockModeTypes的工作感到困惑: 它在提交时增加版本。 这里的问题是:如果我的实体中有版本列,并且如果未指定此锁定模式,则它的工作方式也类似,那么它的用途是什么? 即使未更新实体,它也会在此处增加版本列。 但是,如果在提交此事务之前有任何其他进程在同一行中进行了更新,它的用途是什么?无论如何,该交易将失败。那么这个有什么用呢。 此锁定模式发出a (如果未指定提示
问题内容: 按照JPA的要求,类应具有默认的(非arg)构造函数,以在从数据库中检索对象时实例化这些对象。 在Kotlin中,可以很方便地在主构造函数中声明属性,如以下示例所示: 但是,当将非arg构造函数声明为辅助构造函数时,它要求传递主要构造函数的值,因此需要一些有效值,例如: 如果属性的类型比just更复杂,并且它们不能为null,那么为它们提供值看起来是非常糟糕的,尤其是当主要构造函数和块
问题内容: 我正在尝试使用内存中的HSQL DB运行一些Hibernate / JPA示例。我收到的错误消息如下: 对应的类是: 可嵌入的是: 我的: 我在hibernate和hibernate状态。 有谁知道导致此问题的原因以及如何解决? 问题答案: 您可以忽略这些错误。空数据库的组合(对于内存中的情况总是如此)会为它尝试删除的每个数据库对象生成这些。原因是没有要删除的任何数据库对象-针对空数据
问题内容: 根据Hibernate文档,如果我们要将Map用作实体之间的关联,则有多个注释可用。医生说: 或者,将映射键映射到一个或多个专用列。为了自定义映射,请使用以下注释之一: @MapKeyColumn(如果地图关键字是基本类型)。如果未指定列名,则使用属性名称,下划线和KEY(例如orders_KEY)。@MapKeyEnumerated / @MapKeyTemporal(如果地图键类型
问题内容: 主题说明了一切……到目前为止,人们在getter和/或setter上声明注解没有任何优势。对我而言,这仅具有将注释分布在类上的缺点,这会使类更加不可读。 将注释放在字段上可以明显减少需要帮助时要发布的代码量。不过,这只是一个很小的优势。但是在方法上添加注释对我没有用。 问题答案: 在方法上添加注释会强制JPA通过方法访问属性。当对象的内部状态与数据库模式不同时,这才有意义: 在JPA
问题内容: 我有一个引用实体Bar的实体Foo: 当我坚持使用新的Foo时,它可以引用新的Bar或现有的Bar。当它得到一个现有的Bar(恰好是分离的)时,我的JPA提供程序(hibernate)抛出以下异常: 当我确保对Bar的引用进行管理(附加)时,或者当我在关系中省略级联PERSIST时,一切都很好。 但是,两种解决方案都不是100%令人满意的。如果我删除了级联持久化,显然我不能再以新Bar
问题内容: 我已配置并运行spring-data和hibernate。我可以使用spring- data保存记录,但是由于某些原因,我无法运行查询来更新表中的所有布尔字段。 我尝试了这个: 我也试过这个: 参数除法和节将实现,但表上未更改。 PS我也正在使用MySQL数据库。 问题答案: 我正在使用Spring 3.1和Spring JPA数据。我有一个类似的问题。尝试在1个查询中更新多个记录时,
问题内容: 按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我利用了以下JPA实现: hibernate 顶联 OpenJPA 他们每个人都有自己的优点和缺点。我发现Hibernate是这三个中最先进的,除了它将自己的某
问题内容: 我正在尝试将我的命名查询放入orm.xml(与persistence.xml一起放入META-INF中),但是hibernate / jpa似乎忽略了我的orm.xml。 当我尝试使用em.createNamedQuery(“ myQuery”)创建命名查询时,它返回找不到该查询的信息。 我使用注释,我想在orm.xml中外部化我的命名查询(仅此)。 这是我的persistence.x
问题内容: 我知道的指示: JPA持久性机制读取“ persistence.xml”文件,查找名为“ persistence-unit- name”的持久性单元,并基于该持久性单元构造EntityManagerFactory。 我的问题是,如何强制JPA 使用不同于“ persistence.xml”的文件 ?例如“ persistence-test.xml”。 问题答案: 尽管单个JPA提供程序
问题内容: 假设我们具有以下实体: 在更新中可以理解,我们需要保持双方的关系如下: 到目前为止一切都很好。问题是,我是否应按以下所述在双方上进行合并,并且避免使用级联进行第二次合并? 还是合并拥有者足够?这些合并是否还应该在Transaction或EJB内部进行?还是在具有分离实体的简单控制器方法上完成它? 问题答案: 问题是,我是否应按以下所述在双方上进行合并,并且避免使用级联进行第二次合并?
问题内容: 我有一个对象(BlogPost),其中包含元素(标记)的M:N集合。 如何查询对象(BlogPost)中至少一个对象的标签与使用JPA2(hibernate)的一组标签(由用户定义)中的元素匹配。 我的主要问题是,我实际上需要比较两个标签集合:-BlogPost的标签集合。-我搜索的收藏集 我尝试了一下,但是它不起作用,因为我的帖子实体具有多个标签。 那我该怎么办呢? 我的BlogPo
问题内容: 如何在hibernatePOJO上实现我的唯一约束?假设数据库不包含任何内容。 我在注解中看到了唯一属性,但无法正常工作吗? 如果我想将此约束应用于多个列怎么办? 问题答案: 基本上,没有数据库支持就无法实现唯一约束。 和属性是架构生成工具生成相应约束的指令,它们本身并没有实现约束。 您可以在插入新实体之前进行某种手动检查,但是在这种情况下,您应该意识到并发事务可能存在的问题。 因此,
问题内容: 以下两个声明的确切区别是什么 B是拥有方 A是拥有的一面 在“普通SQL”中考虑这一点,我认为这与拥有两个具有另一个表的外键的表相同。我不明白的是,指定哪个实体是拥有方(即使用’mappedBy’属性)的效果如何。这实际上实现了什么,因为我不相信普通的SQL中有等效的功能。 问题答案: 在JPA 2.0规范,第2.9节,写: 关系可以是双向的或单向的。双向关系既具有拥有侧又具有逆(
问题内容: 在Spring JPA + Hibernate环境中,我需要启用Hibernate实体过滤器。因此,我应该可以访问Hibernate Session对象,但是我正在使用EntityManagerFactory和Spring JPA魔术。有任何会话拦截器,因此每当Spring创建一个新的会话时,我都可以在其上调用enableFilters()方法吗? 问题答案: 我最终得到了AOP解决方