当前位置: 首页 > 知识库问答 >
问题:

用单向单向关系求解问题

寿和通
2023-03-14

我正在处理遗留代码。我有实体A实体B类,但是因为实体B被引用了很多地方,所以我尽量不对实体B进行更改。下面是这两个实体的类。实体B有一个外键列,它是实体a的主键,并且在数据库表中,外键(aId)与表B(id)的许多主键相关联。

table_b
----------
id   table_a_id
1     2
2     2
3     2
4     3
5     3


 @Entity
 @Table(name = "table_a")
 public class A{
     private static final long serialVersionUID = 1L;

     @Id
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     @Column(name = "id", unique = true, nullable = false) 
     private Long id;

 }


 @Entity
 @Table(name = "table_b")
 public class B{
     private static final long serialVersionUID = 1L;

     @Id
     @Column(name="id", unique = true, nullable = false)
     @GeneratedValue
     private Long id;

     @Column(name="table_a_id")
     private Long aId;

 }

共有1个答案

寇鸿
2023-03-14

如下所示

假设您有aid,您希望通过它加载实体b的集合。

A a = session.find(A.class,aid); // just some pseudo code

Criteria cr = session.createCriteria(B.class);
cr.add(Restrictions.eq("aId", aid));
List<B> results = cr.list();
 类似资料:
  • 我有两个类:< code>User和< code>UserProfile。 用户类别: 用户配置文件类: 当我使用此代码时,我在具有多对多关系的表用户配置文件中获得重复的实体。我使用 函数来保存对象。我做错了什么? 然后我删除 cascadeType,出现错误:对象引用未保存的瞬态实例 - 在刷新之前保存瞬态实例。 Hibernate日志:

  • 假设我们有两个实体,Entity和Entity。有多个s。节点可以属于多个集群。因此,在

  • 我想在(您可以将其视为Student)实体和实体之间实现一个@ManyTomany单向的。很简单,一个教室可以有很多学生,而学生可以有很多教室。我希望它是单向的,因为我希望班级只知道它包含什么学生,学生不必知道他们有什么班级。这就是我目前所拥有的: ClassRoom.java Account.java 我通过以下代码保存它(使用Spring JPA): 但我得到了以下错误: 下面是StackTr

  • 问题内容: 如何在EJB 3.0实体Bean(JPA)中建立单向关系? 例如,客户了解Order,但是Order没有任何针对客户的方法。使用(@OneToMany或@OneToOne或@ManyToMany) 问候 问题答案: 使用JPA 2.0 建立单向关系的方法如下: 关系型数据库: 顾客: 订购:

  • 在@JoinColumn中的一对多关系中,我从子表中设置name,从父表中设置reference column。但是,当我在上面的person类中用@OneToOne定义相同的单向关系时,我必须从person表而不是从name表中设置@JoinColumn名称。 我的问题是为什么这两个连接条件中的定义名称不同,在一个条件中,我必须将该名称设置为来自同一表的PK列名的名称,而在第二个示例中,我必须设

  • 我有一个用户表和兴趣表,兴趣表的行数是finiate,我试图建模senario,每个用户都有一组兴趣这是我的代码: 自然,我想有一个联合表,但是进化忽略了创建联合表,并试图通过在兴趣表中添加一个额外的列来做到这一点 我做错了什么??如何使用ebean在play2.2中创建一个简单的OneTo多项关系与连接表? 谢谢和问候