gpt4 book ai didi

java - Hibernate oneToOne 加入附加条件

转载 作者:行者123 更新时间:2023-11-28 23:24:37 27 4
gpt4 key购买 nike

我需要在 hibernate 中进行连接,但我想排除一些被发现的结果。我试过使用 @JoinColumnsOrFormulas,但我仍然得到所有结果

@OneToOne
@JoinColumnsOrFormulas({
@JoinColumnOrFormula(formula = @JoinFormula(value= "(select a.seller_sku from de_products a where a.asin = 'a' and a.product_name != '' and a.seller_sku != '' and a.seller_sku = sku)", referencedColumnName = "seller_sku")),
@JoinColumnOrFormula(column = @JoinColumn(name = "sku", referencedColumnName = "seller_sku", insertable = false, updatable = false))
})
public DeProducts getDeProduct() {
return deProduct;
}

如果我在没有 column 定义的情况下尝试

@OneToOne
@JoinColumnsOrFormulas({
@JoinColumnOrFormula(formula = @JoinFormula(value= "(select a.seller_sku from de_products a where a.asin = 'a' and a.product_name != '' and a.seller_sku != '' and a.seller_sku = sku)", referencedColumnName = "seller_sku"))
})
public DeProducts getDeProduct() {
return deProduct;
}

我在应用程序启动时得到一个 NullPointerException,在

org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory

如何使用额外的标准/排除条件与 spring-boot (1.4) hibernate (5.2.2.Final) 进行连接?

最佳答案

我想我找到了一个可行的解决方案。在公式和@JoinColumn 注释中引用同一列时,Hibernate 似乎忽略了@JoinForumula。引用公式中的另一列时 - 例如id,有效。

@OneToOne
@JoinColumnsOrFormulas({
@JoinColumnOrFormula(formula = @JoinFormula(value = "(select a.id from de_products a where a.asin != '' and a.product_name = 'a' and a.seller_sku = sku)",
referencedColumnName = "id")),
@JoinColumnOrFormula(column = @JoinColumn(name = "sku", referencedColumnName = "seller_sku", insertable = false, updatable = false))
})
public DeProducts getDeProduct() {
return deProduct;
}

关于java - Hibernate oneToOne 加入附加条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39892267/

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