java - 如果嵌入组件,Hibernate 不会创建实体表

标签 java hibernate annotations

我使用 Java/Hibernate/MySQL 制作了一个应用程序,但每当我尝试运行它时,它都会提示我的实体类之一的表尚未创建。

经过一番尝试和错误,我得出的结论是,问题出在我映射嵌入式组件的方式上,但我不知道如何修复它。

以下是相关代码:

@Entity
public class Feed {
... //Definition of some properties
  @Embedded
  @AttributeOverrides( {
    @AttributeOverride(name = "type", column = @Column(name = "title-type")),
    @AttributeOverride(name = "mode", column = @Column(name = "title-mode")),
    @AttributeOverride(name = "value", column = @Column(name = "title-value")) })
  public Content getTitle() { ... }

  ...
}

@Embeddable
public class Content {
  ... // There are three properties with bean syntax
      // without any persistence annotation.
}

有谁知道为什么 Hibernate 无法为 Feed 类创建表?我该如何纠正它?

提前谢谢您。

编辑:终于明白了;罪魁祸首是我在专栏中使用了“-”字符。我用下划线替换了它们,一切又恢复正常了。

非常感谢您的帮助。

最佳答案

抱歉缺少更新,但我终于能够记录必要的调试信息。

我为专栏选择的名称有误;我猜想“-”是为算术运算保留的,它不应该出现在列名中。

我用下划线替换它们,问题就解决了。

非常感谢您的帮助。

关于java - 如果嵌入组件,Hibernate 不会创建实体表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1029811/

相关文章:

java - 是否可以在android上随处设置转换速度/时间

java - 什么是 package-info.java,如何将它添加到我的项目中?

java - 如何从 spring mvc 和 hibernate 中的 json 响应获取日期格式响应而不是毫秒

java - 应用程序无法加载请求的类: com. mysql.cj.jdbc.Driver

java - 如何向 Spring 发出必须填充 Bean 属性的信号?

java - JAX-RS/ Jersey : How can I "inherit" @Provider fields?

java - 是否可以在 Eclipse 中查看注释的类型层次结构?

java - 为什么这些连接查询返回重复记录?

java - maven-remote-resources-plugin 不复制文件,仅复制文件夹结构

java - 使用 ANT 运行 testng xml 中存在的 java 文件的过程是什么