草庐IT

实体抽取

全部标签

java - 检索 JPA 实体列表和元数据

我想知道是否有办法获取JPA中特定持久单元的所有实体类及其元数据。我所说的元数据不仅指字段,还指它们的列名、长度、精度、数据类型以及表名和我可以获得的任何内容。我尝试使用元模型,但我认为这仅适用于JPQL查询。我需要能够向用户显示某些PU的所有Activity实体,并且我不想将它们硬编码到某个数组或数据库中,我希望API告诉我它有哪些实体。而且,如果可能的话,获取每个实体的托管实例。我想我可以尝试使用反射来获取所有带有@Entity注释的类,但这不会很漂亮,而且很难知道哪个属于特定的PU,所以如果api已经公开了这个信息那就太好了。我更喜欢符合JPA的解决方案,但如果不可能,Hiber

java - JPA native 查询返回具有来自多个表的字段的实体

我在JPANativeSql中有一个查询,我在其中执行表和连接的“联合”。我用来自多个表的所有查询字段创建了一个实体。所以我不能像往常一样使用JPA执行“@Column”“@table”。如何将查询的给定值设置为我的实体? 最佳答案 您可以使用@SqlResultSetMapping将nativeSQL查询返回的列映射到您的实体.Example:Queryq=em.createNativeQuery("SELECTo.idASorder_id,"+"o.quantityASorder_quantity,"+"o.itemASorde

java - 如何使用 Hibernate 获取关联的实体

我正在使用Springrest和Hibernate开发一个应用程序,我想从数据库中获取嵌套记录,就像我正在获取User的Profession,现在我想获取与我之前获取的Profession关联的Users。这是我的Dao类@SuppressWarnings({"unchecked","rawtypes"})publicListgetProfessionById(longid)throwsException{session=sessionFactory.openSession();Criteriacr=session.createCriteria(Profession.class);cr

java - 我应该将一个实体转换为 Repository 对象中的 DTO 并将其返回给服务层吗?

我想在这里找到两个非常相似的问题的答案:ShouldIconvertanentitytoaDTOinsideaRepositoryobjectandreturnittotheServiceLayer?或IsitokaytoreturnDTOobjectsfromtheRepositoryLayer?现在我卡在我的Servlet(Servie层)中,例如尝试从RestaurantOwnerRepository中检索所有Restaurant对象://RestaurantOwnerService(Servlet)@Override@TransactionalpublicListgetAvai

java - 实体未编织。 Eclipselink 2.1 + 动态编织

我有一个在tomcat上运行的JavaEE应用程序,它带有几个实体类并使用eclipselink2.1和jpa2.0。实体是EmailNotification和EmailNotificationQueueRow。@EntitypublicclassEmailNotificationimplementsSerializable,IEntity{privatestaticfinallongserialVersionUID=1L;@Id@GeneratedValue(strategy=GenerationType.AUTO,generator="emailGen")@SequenceGene

java - 如何将多个字段分配为实体的主键(使用 JPA)

这个问题在这里已经有了答案:JPAcompositeprimarykey[duplicate](2个答案)关闭9年前。可以通过在JPA中使用@Id批注为其类分配主键。我的问题是,如果一个人不想在他的表中有一个自动生成的键并使用字段(可能不止一个)作为主键怎么办。假设我们有一个包含SSN、NATIONALITY和NAME的人员表。SSN被定义为一个人在他的国家被识别的号码。因此,我们可能在两个不同的国家有两个号码相同的人。该表的主键可以是SSN+NATIONALITY。有什么方法可以使用JPA映射这两个字段并将其映射到对象吗?或者它创建自动生成的id并使用@Id注释的唯一方法CREATE

java - mappedBy 引用未知的目标实体属性 - hibernate 错误

首先,我的类(class):用户packagecom.patpuc.model;importjava.util.List;importjavax.persistence.Column;importjavax.persistence.Entity;importjavax.persistence.Id;importjavax.persistence.OneToMany;importjavax.persistence.Table;importcom.patpuc.model.RolesMap;@Entity@Table(name="users")publicclassUser{@Id@Col

java - 如何加载实际的 Hibernate 实体关联而不是 LAZY 代理

我来自eclipselink并尝试通过Hibernate工作。假设我们有一个类Car和一个类Wheel。Car类有n个轮子。两个实体都通过双向关联进行连接。更重要的是,在Wheel方面,我有一个Car引用:@ManyToOne(fetch=FetchType.LAZY)@JoinColumn(name="car_id")privateCarcar;加上setter/getter。现在我想使用它的id获取一个轮子。来self的EntityManager(不是hibernateSession)。我像这样初始化EntityManager:EntityManagerFactoryemf=Per

java - 无法使用@IdClass 转换实体中的请求元素

我有以下设置:@Entity@IdClass(MemberAttributePk.class)publicclassMemberAttribute{@Id@ManyToOne@JoinColumn(name="member_id")protectedMembermember;@IdprotectedStringname;privateStringvalue;publicMemberAttribute(){}//get&set}和id类:publicclassMemberAttributePkimplementsSerializable{protectedMembermember;pro

java - @NamedNativeQuery 和@SqlResultSetMapping 用于非实体

我一直在用这个post举个例子。我有一个复杂的连接查询(在此处进行了简化)。它从两个表(以及使用CASE的派生列)返回值的子集。我认为我不需要使用实体注释,因为从我的结果集中返回的对象不是我的模式中的实际表。我想保存连接查询结果的非实体对象:@SqlResultSetMapping(name="myMapping",classes={@ConstructorResult(targetClass=CarLimitDelta.class,columns={@ColumnResult(name="caseCol"),@ColumnResult(name="colA"),@ColumnResu