I am developing an app using Spring boot and mysql. Created two tables in mysql using workbench.ER diagram :
Here is my Entity classes generated using JPA tool in eclipse.
Transaction
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;
}
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;
When I run this application I am getting Use of @OneToMany or @ManyToMany targeting an unmapped class
exception. I am not sure where I am going wrong. Tried related posts but no luck.