【问题标题】:JPA Exceptions: org.hibernate.MappingException: Could not determine type forJPA 异常:org.hibernate.MappingException:无法确定类型
【发布时间】:2021-01-06 13:34:15
【问题描述】:

我在UserItems 表之间创建了One to many 关系。下面是sqljava 代码。我收到异常原因:

org.hibernate.MappingException`:无法确定类型:com.model.Users,在表:项目,列:[org.hibernate.mapping.Column(users)]

请帮忙绘制地图。

    CREATE TABLE users
    ( id integer NOT NULL DEFAULT nextval('userseq'::regclass),
      email character varying(64) NOT NULL,
      passwords character varying(64) NOT NULL
      CONSTRAINT users_pkey PRIMARY KEY (id)
    )
  
    CREATE TABLE items
    ( id integer NOT NULL DEFAULT nextval('itemseq'::regclass),
      userid integer NOT NULL,
      itemname character varying(4096) NOT NULL,
      CONSTRAINT message_pkey PRIMARY KEY (id),
      CONSTRAINT userid_fkey FOREIGN KEY (userid)
      REFERENCES users (id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION
     )
       public class Users  {
        private Items items;
            
            @OneToMany(targetEntity=Items.class, mappedBy="users", fetch=FetchType.LAZY)  //sender is message(c)filed
            public List<Items> getItems() {
                return items;
            }
        }
        
        @ManyToOne(fetch = FetchType.LAZY, targetEntity = Users.class)
            @JoinColumn(name = "userid", nullable = false)            // sendid is database column
            public Users getUsers() {
                return users;
            }

原因:org.springframework.beans.factory.BeanCreationException:创建名为“jpaMappingContext”的bean时出错:调用init方法失败;嵌套异常是 javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory;嵌套异常是 org.hibernate.MappingException:无法确定类型:com.model.Users,在表:项目,列:[org.hibernate.mapping.Column(users)]

原因:javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory;嵌套异常是 org.hibernate.MappingException:无法确定类型:com.model.Users,在表:项目,列:[org.hibernate.mapping.Column(users)]

原因:org.hibernate.MappingException:无法确定类型:java.util.List,表:用户,列:[org.hibernate.mapping.Column(items)]

【问题讨论】:

  • 请同时添加Item实体。

标签: java postgresql spring-boot hibernate jpa


【解决方案1】:

Users 类不应该有一个项目列表吗?试试下面的,

@Entity
@Table(name = "users")
public class Users{

    @OneToMany(mappedBy = "user")
    private List<Items> items;

}

@Entity
@Table(name = "items")
public class Items{

    @JoinColumn(name="userid")
    @ManyToOne
    private User user;

}

【讨论】:

    猜你喜欢
    • 2014-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 2013-01-25
    相关资源
    最近更新 更多