我是新來的使用JOOQ和我有問題,但我找不到解決方案。我有2張表簡單的數據庫:Sellers
和Clients
- 下面的SQL:JOOQ獲得POJO對象與另一個POJO - 表中的外鍵
CREATE TABLE Sellers
(
id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
name varchar(255) NOT NULL,
);
CREATE TABLE Clients
(
id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
name varchar(255) NOT NULL,
seller_id int,
FOREIGN KEY (seller_id) REFERENCES Sellers(id)
);
Client
有foreign key
,它定義了Seller
被分配給他。
我想從使用JOOQ的數據庫獲取客戶端,但使用join()
也得到Seller
對象到每個客戶端。可能嗎?如果是這樣怎麼辦?這裏是我的POJO對象:
public class Seller {
private final SimpleIntegerProperty id = new SimpleIntegerProperty();
private final SimpleStringProperty name = new SimpleStringProperty();
...
//setters and getters here
...
}
public class Client {
private final SimpleIntegerProperty id = new SimpleIntegerProperty();
private final SimpleStringProperty name = new SimpleStringProperty();
private final SimpleIntegerProperty sellerId = new SimpleIntegerProperty();
//private Seller seller; //not working
...
//setters and getters here
...
}
這是我的JOOQ代碼來獲取客戶:
context.select()
.from(CLIENTS)
.join(SELLERS)
.on(CLIENTS.ID.eq(SELLERS.ID))
.fetchInto(Client.class);
我應該改變讓我想要什麼?
'客戶'有'賣家'作爲對象。數據庫將'seller_id'作爲'int'。 JOOQ會自動解決嗎? – bradimus
@bradimus它將seller_id自動解析爲int,但正如您在我的客戶端類中所看到的,我也試圖添加對象賣家賣家,但它沒有解決它。 – user3626048