当前位置: 首页 > 知识库问答 >
问题:

具有两个相同类型字段的JPA实体

阴永福
2023-03-14

我试图在我的实体中有两个相同域类的字段,但我得到了这个错误:

org.hibernate.mappingException:无法确定表:Outhories中:com.packt.webapp.domain.user的类型,列:[org.hibernate.mapping.column(author)]

@Entity
@Table(name="opinions")
public class Opinion {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long id;
    @NotNull
    private String text;
    @NotNull
    private String date;
    @ManyToOne
    @JoinColumn(name="commented_user")
    private User writtenTo;
    private User author;

@Entity
@Table(name="user")
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long id;
    private String username;
    private String password;
    @OneToMany(mappedBy="writtenTo")
    private List<Opinion> opinions;

我只想将意见映射到已评论的用户,并将评论的作者存储在author字段中。当我移除author字段时,一切正常。这个例子有什么问题?

共有1个答案

葛子昂
2023-03-14

尝试注释也作者?

@ManyToOne
@JoinColumn(name="author")
private User author;
 类似资料:
  • 问题内容: 看这个: 现在,我有了一些值和一个从文件中加载的值的实例化。我希望将两个结构合并到一起,以便同时获取两个结构的内容。应该覆盖设置的任何内容,而 可能没有设置所有的字段 。(为什么?因为潜在的用户可能不知道默认值,所以删除该条目等同于设置默认值-我认为) 我认为我需要对此进行反思: 在这里我不确定: 如果根本需要反思 可能有更简单的方法可以做到这一点 我在这里看到的另一个问题是检查零值可

  • 问题内容: 假设我有一个类A,而B,C,D是从A派生的。 如果我想知道所引用的对象的类型是什么,可以声明: 这是因为我确定从A派生的类只有B,C和D。 但是,如果我只想检查两个引用是否指向同一种对象,该怎么办? 所以像这样: 但是当然语法是错误的,如何在没有1000 if-else的情况下进行检查? 问题答案: 你的意思是 即使和属于相同的特定类,也应返回true 。 但是,如果与进行比较,则此方

  • 注意1:如果您有相同类型的字段(或相同的擦除),最好用匹配的字段命名所有@mock注释字段,否则Mockito可能会混淆,不会发生注入。 这是否意味着如果我有几个具有相同类型的字段,我不能只模拟其中一个字段,而是应该为所有具有相同类型的字段定义?这是已知的限制吗?有什么原因为什么它还没有被修复?通过字段名称匹配应该很简单,不是吗?

  • 我是JPA新手。目前,我正在编写一个带有注释的本机查询。我有一个类似下面的类 我正在编写两个查询,其中一个查询在选择投影中包含字段2,而另一个不包含字段2。如何对这两个查询使用相同的类?我尝试了瞬态注释。但它使两个查询的值都为null。

  • 问题内容: 有一个实体类“ A”。A类可能具有相同类型“ A”的子级。如果“ A”是孩子,则也应保留它的父母。 这可能吗?如果是这样,我应该如何在Entity类中映射关系?[“ A”有一个id列。] 问题答案: 是的,这是可能的。这是标准双向@ManyToOne/ @OneToMany关系的特例。之所以特别是因为关系两端的实体都是相同的。JPA 2.0规范的第2.10.2节详细介绍了一般情况。 这

  • 问题内容: 在JPA中,我有2个实体:Entry和Comment。条目包含两个Comment对象集合。 为了存储此类对象,JPA + Hibernate创建“ Entry”表,“ Comment”表和单个“ Entry_Comment”: 对象的存储失败,并且不能同时为“非null”。 如何使用JPA + Hibernate存储包含两个相同类型的集合的对象? 问题答案: 这是许多Hibernate