gpt4 book ai didi

java - Spring data jdbc - 特定连接、特定映射

转载 作者:行者123 更新时间:2023-12-01 19:47:51 25 4
gpt4 key购买 nike

我有以下两个表:

Customer
id
name

Order
id
product_name
customer_id

具有 1 对 1 的关系

和java实体:

@Data
public class Customer{
@Id
private Long id;
private String name;
}

@Data
public class Order{
@Id
private Long id;

@Column("id")
private Customer customer; //i want to somehow map this
private String productName;
}

和一个 Controller

@Controller
public class MyController{
//...
@GetMapping("/")
public String getmap(Model m){
System.out.println(repository.findAll()) //prints "nullrows" due to wrong sql statement
return "mytemplate";
}
}

我当前的问题是,spring正在执行以下sql语句:

SELECT Order.id, Order.product_name, Customer.id, Customer.name
FROM Order LEFT OUTER JOIN Customer ON Customer.id = Order.id

我真正想要的是加入Customer.id = Order.customer_id,同时保持类不变,即客户引用需要保持顺序。

我已经尝试了迄今为止我能找到的所有注释,但没有取得任何进展。

编辑:

我不被允许使用jpa/hibernate

最佳答案

一种解决方法是执行以下操作:

@Data
public class Customer{
@Id
private Long id;
private String name;
}

@Data
public class Order{
@Id
private Long customerId;

private Long id;

@Column("id")
private Customer customer; //i want to somehow map this
private String productName;
}

导致其自动加入 Customer.id = Order.customer_id

但这看起来并不是一个好的解决方案。

关于java - Spring data jdbc - 特定连接、特定映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59108475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com