Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 原因:org.hibernate.AnnotationException:使用@OneToMany或@ManyToMany瞄准未映射的类:_Java_Hibernate_Spring Boot_Spring Data Jpa - Fatal编程技术网

Java 原因:org.hibernate.AnnotationException:使用@OneToMany或@ManyToMany瞄准未映射的类:

Java 原因:org.hibernate.AnnotationException:使用@OneToMany或@ManyToMany瞄准未映射的类:,java,hibernate,spring-boot,spring-data-jpa,Java,Hibernate,Spring Boot,Spring Data Jpa,我正在使用SpringBoot和mysql开发一个应用程序。 使用workbench.ER图在mysql中创建了两个表: 下面是我在eclipse中使用JPA工具生成的实体类 交易 使用者 当我运行这个应用程序时,我正在使用@OneToMany或@ManyToMany,目标是一个未映射的类异常。我不确定我会错在哪里。尝试了相关帖子,但没有成功。您的导入错误。您的@实体名为Transaction,但您从另一个包导入了javax.Transaction.Transaction类您的导入是错误的。您的

我正在使用SpringBoot和mysql开发一个应用程序。 使用workbench.ER图在mysql中创建了两个表:

下面是我在eclipse中使用JPA工具生成的实体类

交易

使用者


当我运行这个应用程序时,我正在使用@OneToMany或@ManyToMany,目标是一个未映射的类异常。我不确定我会错在哪里。尝试了相关帖子,但没有成功。

您的导入错误。您的@实体名为Transaction,但您从另一个包导入了javax.Transaction.Transaction类

您的导入是错误的。您的@Entity命名为Transaction,但您从另一个包中导入了javax.Transaction.Transaction类

可能会导致映射没有问题。我使用mariadb在spring boot的最新版本中对其进行了测试,并设置了属性:spring.jpa.hibernate.ddl auto=update。它创建了数据库中的所有表,应用程序启动良好,没有任何错误。可能的情况是,映射没有任何错误。我使用mariadb在spring boot的最新版本中对其进行了测试,并设置了属性:spring.jpa.hibernate.ddl auto=update。它创建了数据库中的所有表,应用程序启动良好,没有任何错误。
import java.io.Serializable;
import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;

/**
 * The persistent class for the transactions database table.
 * 
 */
@Entity
@Table(name = "transactions")
@NamedQuery(name = "Transaction.findAll", query = "SELECT t FROM Transaction t")
public class Transaction implements Serializable {
    private static final long serialVersionUID = 1L;

    @Id
    @SequenceGenerator(name = "TRANSACTIONS_TRANID_GENERATOR")
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "TRANSACTIONS_TRANID_GENERATOR")
    @Column(name = "tran_id")
    private int tranId;

    @Column(name = "created_by")
    private String createdBy;

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "created_on")
    private Date createdOn;

    @Column(name = "total_balance")
    private BigDecimal totalBalance;

    @Column(name = "tran_amount")
    private BigDecimal tranAmount;

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "tran_date")
    private Date tranDate;

    @Column(name = "tran_type")
    private String tranType;

    @Column(name = "updated_by")
    private String updatedBy;

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "updated_on")
    private Date updatedOn;

    // bi-directional many-to-one association to User
    /*
     * @ManyToOne
     * 
     * @JoinColumn(name = "user_id") private User user;
     */

    @ManyToOne
    @JoinColumn(name = "fk_userId", nullable = false)
    private User user;

}
import java.io.Serializable;
import javax.persistence.*;
import javax.transaction.Transaction;

import java.util.Date;
import java.util.List;

/**
 * The persistent class for the user database table.
 * 
 */
@Entity
@NamedQuery(name = "User.findAll", query = "SELECT u FROM User u")
public class User implements Serializable {
    private static final long serialVersionUID = 1L;

    @Id
    @SequenceGenerator(name = "USER_USERID_GENERATOR")
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "USER_USERID_GENERATOR")
    @Column(name = "user_id")
    private int userId;

    @Column(name = "created_by")
    private String createdBy;

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "created_on")
    private Date createdOn;

    @Column(name = "updated_by")
    private String updatedBy;

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "updated_on")
    private Date updatedOn;

    @Column(name = "user_first_name")
    private String userFirstName;

    @Column(name = "user_last_name")
    private String userLastName;

    @Column(name = "user_login_id")
    private String userLoginId;

    @Column(name = "user_password")
    private String userPassword;

    @Column(name = "user_phone")
    private String userPhone;

    // bi-directional many-to-one association to Transaction
    @OneToMany(fetch = FetchType.EAGER, mappedBy = "user")
    private List<Transaction> transactions;