我有两张桌子“table1”和“table2”。对于表1中的每一行,表2中可以有多行
@Entity
@EntityListeners(AuditingEntityListener.class)
@Table(name = "table1", schema = "dbo")
public class Table1 extends BaseDomain{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer vendorId;
private String name;
private Integer companyId;
private String details;
@OneToMany(mappedBy = "table1",cascade = CascadeType.ALL)
@NotFound(action = NotFoundAction.IGNORE)
private Set<Table2> table2;
// getter and setter for above
}
和
@Entity
@EntityListeners(AuditingEntityListener.class)
@Table(name = "table2", schema = "dbo")
public class Table2 extends BaseDomain{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
private Integer cityId;
private Integer companyId;
@OneToOne
@JoinColumn(name = "vendorId")
@JsonIgnore
private Table1 table1;
// getter and setter for above
}
然后我创建了这样的存储库
@Transactional
public interface Table1Repository extends JpaRepository<Table1, Integer> {
Page<Table1> findByCompanyId(Integer companyId,Pageable pageable);
}
这将给出表1中按公司ID列出的行列表,以及表2中具有相应供应商ID的行列表。
到目前为止,我的实现工作正常。
答案是
{
"content": [
{
"vendorId": 23,
"name": "vendorname",
"details": details,
"table2": [
{
"id" :1,
"cityId":1,
},
"id" :2,
"cityId" : 3
]
},
{....}
]
}
目前,我以companyId作为输入,并给出了上述响应。现在我想把cityId作为一个输入。因此,表2的输出应该只包含给定cityId的详细信息。
那么,有谁能帮助我实现这一目标吗?我不想为表1和表2创建另一个模型。
Page<Table1> findByCompanyIdAndTable2_CityId(Integer companyId, Integer cityId, Pageable pageable);
此方法将负责按cityId进行抓取。下划线(_)表示嵌套字段。但要使其工作,您需要急切地获取Table2。
@OneToMany(mappedBy = "table1",cascade = CascadeType.ALL, fetch=FetchType.EAGER)
如何创建高效的 JPA 条件查询,以便仅当实体存在于联接表中时才选择实体列表?例如,采用以下三个表: 有问题的查询(我希望 JPA 生成什么)是: 以下条件查询将产生类似的结果,但有两个连接: 根本问题似乎是我对USER_WORKGROUP连接表使用@JoinTable注释,而不是对连接表使用单独的@Entity,所以我似乎不能在条件查询中将USER_WORGGroup用作根。 以下是实体类:
#我想理解这个表达,它在说什么?“如果x:”是什么意思?通常在if语句之后总是有一个条件,但这个条件没有。我如何理解这一点?它在这个功能中做什么?
我目前正在了解React Native中的if-else if-else语句的语法。下面是我理解的一个简单的if-else条件: 但是,当添加另一个条件来生成if-else if-else语句时,我遇到了问题。 如果有人能指出我的缺点,我将不胜感激!
我有一个简单的角度/html代码,其中有一个表,每个
我是thymeleaf的新手,在执行if条件时遇到了问题。我编写的代码是 问题是这段代码写完后,web页面会不断加载。谁能告诉我执行这个操作的正确方法。
如何在钩子的if块中调用redux操作: 我有两个选择框。如果此人在选择框中键入,我将的选定id存储在状态中。如果用户选择了一个组,我将它存储在中,所以只有在两个条件都匹配的情况下,我才需要调用APIendpoint来获取。 如果我注释这段代码,就没有错误。如何使代码片段工作?