我想知道是否有办法获取JPA中特定持久单元的所有实体类及其元数据。
我所说的元数据不仅指字段,还指它们的列名、长度、精度、数据类型,以及表名和我能得到的任何东西。我尝试使用元模型,但我认为它更适合JPQL查询。
我需要能够向用户显示某些 PU 的所有活动实体,并且我不想在某个数组或数据库中对它们进行硬编码,我希望 API 告诉我它有哪些实体。此外,如果可能,请获取每个实体的托管实例。
我想我可以尝试使用反射来获取所有带有@Entity注释的类,但它不会很漂亮,并且很难知道哪个属于特定的PU,所以如果api已经公开了这些信息,那就太好了。
我更喜欢JPA兼容的解决方案,但是如果不可行,Hibernate或EclipseLink特定的答案也可以。
谢啦!
实体在定义时独立于任何持久性单元。它们在持久性.xml的定义中与持久性单元相关联。管理给定持久性单元的实体管理器的 EntityManagerFactory 似乎没有任何 API 来获取它所管理的实体列表。Hibernate的SessionFactory是EntityManagerFactory的对应物,它确实有API来获取类元数据(http://docs.jboss.org/hibernate/core/3.5/api/org/hibernate/SessionFactory.html)。
是的,您可以从EntityManager
获取所有实体和有关实体的相应元数据信息。
EntityManager.getMetamodel()
将允许您访问Metamodel
接口,您可以从其中访问EntityType
和ManagedType
以获取实体的属性。
问题内容: 我想知道是否有一种方法可以为JPA中的特定持久性单元获取所有Entities类及其元数据。 通过元数据,我不仅指字段,还指它们的列名,长度,精度,数据类型,以及表名和我可以得到的任何东西。我尝试使用元模型,但我认为这仅适用于JPQL查询。 我需要向用户显示某个PU的所有活动实体,并且我不想在某些数组或数据库中对它们进行硬编码,我希望API告诉我它具有什么实体。并且,如果可能,获取每个实
我假设有一种方法,因为XRMToolBox中的工具会用这些值加载下拉。
问题内容: 自从我上次使用1.4.X版本以来,我一直在尝试更新有关Java的知识…我正在尝试使用1.6.0,尤其是Java Persistence API(2.0)。 我设法创建了一个实体类。因为我能够存储和检索数据,所以它正在工作。 但是我无所事事,当我决定用表的列名填充JList时并没有成功… 这是一个简单的类,看起来像: 有没有办法检索列名? 我找到了这个帖子。似乎是一个有效的解决方案,
问题内容: 我在SQL Server中有六个视图需要在Teradata中复制,但是我找不到与SQL元数据表等效的TD。我想复制以下功能(我认为这是不言而喻的): 我也想知道在线上是否有可用的Teradata参考;我碰到的一切似乎都是广告,而不是实用的信息。 问题答案: 所有Teradata系统表都存储在DBC模式下。 对于列,它是dbc.columns 对于视图,它是dbc.tables,在名为t
我正在创建一个web程序,用spring boot、tomcat和JPA映射商店的占有率。我已经创建了成员模型/服务/控制器,当我尝试更新、创建、删除它或从中获取信息时,它工作正常。 然而,商店也没有被创建,当我用ownerId创建一个商店时,我会收到一条错误消息,说: 错误消息 [org.springframework.http.converter.httpMessageEndableExcep
我正在回答这个问题,在单个表的日期、整数和字符串数据类型字段上执行多列搜索?并且该方法必须返回Java 8中类型specification 的结果。 实际上,我想在关联实体中搜索,以及全局搜索的一部分。使用是否可能? 我有和@onetomany关系。 EmployeeController.java java 当我点击时,我希望在表和表中进行搜索(可能使用类似)。这可能吗?如果是,我们怎么做? 有什