问题标签 [jpa-2.1]
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.
inheritance - JPA:为什么 GenerationType.AUTO 不能与 InheritanceType.TABLE_PER_CLASS 策略一起使用
有人可以解释为什么 InheritanceType.TABLE_PER_CLASS 在映射继承时不能使用 GenerationType.AUTO 策略生成主键值吗?
hibernate - JPA 2.1 中标准获取连接中的导航方法
在 JPA 标准中使用 fetch 连接时,看不到导航方法。下面给出一个例子。
要浏览相关实体,Fetch
需要将此类型强制转换为如下所示的连接。
导航方法get()
在此转换后可用,就像,
这种类型转换是否可移植(虽然它适用于 EclipseLink (2.5.1) 和 Hibernate (4.3.5))?有没有其他方法可以做到这一点?为什么条件获取连接不支持导航方法有什么具体原因吗?
更新:( 我仍然认为这只是部分答案。因此,没有写在答案部分)
詹姆斯在这里很好地发现了为什么非常不鼓励使用导航方法(包括 JPQL 中的别名)并且不推荐特别是在关系中(因此不直接在s 中提供/支持):FETCH JOIN
OneToMany
FETCH JOIN
EclipseLink 允许您在
JOIN FETCH
. 此支持旨在用于OneToOne
和ManyToOne
关系,以避免为了获得别名而必须加入两次,以及允许以不会过滤结果和改变对象构建ORDER BY
方式的方式或其他方式使用它。但是,没有什么可以阻止您使用它来过滤获取 结果的内容。OneToMany
OneToMany
您可能想用给定的示例阅读整个博客。根据我的经验,Hibernate(最新版本)也允许我们这样做。
一般来说,我个人不会在OneToMany
关系中使用别名来浏览目标实体(具有外键的实体),这在实际项目中充其量是不需要的,但在OneToOne
and/or中是必需的ManyToOne
。
hibernate - 在 JPA 标准中具有复合主键的 IN 子句
我有一个group_table
在 MySQL 中命名的表,只有两列user_group_id
和group_id
(它们都是类型VARCHAR
)。这两列共同构成一个复合主键。
我需要使用子选择执行一条语句,IN()
以根据传递给查询的值列表选择行。
该实现产生以下查询。
请注意,关于组合键本身的前两个参数是null
. 他们应该是user_group_id
和group_id
分别。
为什么它们没有在参数列表中替换?
虽然我对在表中形成复合主键不感兴趣,但这(可能)对于我用于身份验证的 JAAS 来说是强制性的。
在这种情况下,查询返回与数据库提供的相同列表,这实际上是不必要的。我实际上需要这个查询来删除多行。
spring-data-jpa - 出现错误无法在类上找到适当的构造函数
我正在尝试将本机 SQL 结果映射到我的 POJO。这是配置。我正在使用弹簧。
这是我的课
我怎么称呼它
但说到线
我收到一个错误
这是我正在尝试的查询
为什么我收到此错误?
谢谢
java - Java mapping json to two objects
I use Jersey to provide REST API. I wrote controller, which map request to entity:
It works fine for simple json like:
and entity:
How can I map JSON array like:
To two entites? First entity: user (shown above) and entity reqData:
I have of course One to One relationship, but it is not important here(I think). I hope my question is understandable. Thanks for help.
java - Glassfish 4 - 使用 Hibernate 和 CDI @Transactional 的 TransactionRequiredException
我收到以下异常:
我正在使用休眠 4.3.5
持久性 XML:
我也尝试设置hibernate.transaction.jta.platform
为,org.hibernate.engine.transaction.jta.platform.internal.SunOneJtaPlatform
但会导致相同的错误。
EJB CMT´s
工作正常。
从命令按钮调用创建操作:
java - 如何映射包含 ArrayList 的 HashMap
我在Java
业余时间从事一个项目,
我开始使用JPA 2.1
并学习使用annotations
.
我有一个名为Schedule
我想包含此字段的类:
课程是我的数据库中的另一个实体,LocalDate 是 Java 类。
那可能吗?
我尝试将@OneToMany 与@MapKey 结合起来,就像在How do you map a "Map" in hibernate using annotations?
但没有效果。
我在想,也许我需要创建其他Entities
来促进这一点,比如 a ListOfLessons
,它将包含ArrayList<Lesson>
以缩短HashMap
to :
欢迎任何帮助
java - “便携式应用程序”是什么意思?
我正在阅读 Java 持久性规范 2.1 版,第 25 页有最后一段:
实体子类可以覆盖属性访问器方法。但是,可移植应用程序不得覆盖应用于实体超类的持久字段或属性的对象/关系映射元数据。
那么“便携式应用程序”是什么意思呢?有人可以解释并提供一些例子吗?
java - HIbernate 一对一注释未在依赖表中生成外键 GerericGenerator
我正在尝试在 Person 和 Auth 表之间创建 OneToOne 关系。问题是当生成数据库表“Auth”时,我没有在 AUTH 表中看到应该引用 Person 的外键。目的是让 Auth 表使用与 Person 表相同的主键。
休眠数据库生成后的我的数据库脚本。
multithreading - 多线程环境下的eclipselink错误
我在使用 ThreadLocal 的多线程环境中使用最新的 eclipselink (2.5.2) 来保证每个线程都使用自己的实体管理器,并且我得到了下面的异常。
通过互联网搜索,我意识到它发生在 2.3 版的类似环境中。有谁知道解决方法?如何克服这一点?