hibernate @WhereJoinTable 麻烦

标签 hibernate jointable

我已经习惯了 hibernate ,但我时不时地跌跌撞撞,这是另一个。

我正在努力实现以下目标:

@OneToMany
@JoinTable(name = "inter_spec",
        joinColumns = { @JoinColumn(name = "inter_id") },
        inverseJoinColumns = { @JoinColumn(name = "spec_id") })
@WhereJoinTable(clause = "spec_type=SECTION")
public List<Section> getSections() {
    return sections;
}

但是在运行单元测试时出现以下错误:

[ERROR] JDBCExceptionReporter - Column "SECTIONS0_.SECTION" not found; SQL statement:



我想要的只是应用 Where 子句,以便我的 List 部分只有 SECTION 类型的数据。

如果删除单元测试通过的 Where 子句,则列表上的断言具有预期的数据。

谢谢阅读。

最佳答案

啊,这总是发生,我一发布问题就想通了!!

基本上,Where 子句中的 SECTION 是 Java 代码中的 Enum,因此该行应该是:

@WhereJoinTable(clause = "spec_type='SECTION'")

注意之前没有的 SECTION 周围的单引号!

关于 hibernate @WhereJoinTable 麻烦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4993498/

相关文章:

java - Hibernate 5.0.6配置异常: The application must supply JDBC connections

hibernate - 刷新页面时 grails 中奇怪的 GORM 行为 (F5)

hibernate - 将 Grails 域类映射到 joinTable 的问题

JPA ManyToMany,JoinTable 怎么会有属性?

ruby-on-rails - Rails Mechanize 连接表循环

java - JPA 实体图的目标是什么?

java - Hibernate Spring 安全修改设计如何

hibernate - 如何使用@NotNull

grails - GORM多对多映射,可与其他字段结合使用