私は休止状態が初めてです。DBに注文とアカウントのテーブルがあり、
CREATE TABLE [dbo].[ORDERS](
[PRICE] [decimal](12, 2) NULL,
[ORDERID] [int] IDENTITY(0,1) NOT NULL,
[ACCOUNT_ACCOUNTID] [int] NULL,
CONSTRAINT [PK_ORDER] PRIMARY KEY CLUSTERED
(
[ORDERID] ASC
)WITH ( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF )
)
アカウント テーブル:
CREATE TABLE [dbo].[ACCOUNT](
[BALANCE] [decimal](12, 2) NULL,
[ACCOUNTID] [int] IDENTITY(0,1) NOT NULL,
[PROFILE_USERID] [varchar](250) NULL,
CONSTRAINT [PK_ACCOUNT] PRIMARY KEY CLUSTERED
(
[ACCOUNTID] ASC
)WITH ( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF )
)
1 つのアカウントに多くの注文がある 1 対多のマッピングを実行しようとしています。私は次のクラスを持っています:
@Table(name="ACCOUNT")
public class Account implements Serializable, IEntity{
private static final long serialVersionUID = 1L;
private int accountID;
private double balance;
private List<Order> orders;
@Id
@GeneratedValue
public int getAccountID() {
return accountID;
}
public void setAccountID(int accountID) {
this.accountID = accountID;
}
public double getBalance() {
return balance;
}
public void setBalance(double balance) {
this.balance = balance;
}
@OneToMany(cascade = CascadeType.ALL,fetch = FetchType.EAGER)
@JoinColumn(name = "ACCOUNT_ACCOUNTID",nullable=false,insertable=true,updatable=true)
public List<Order> getOrders()
{
return orders;
}
public void setOrders(List<Order> orders)
{
this.orders = orders;
}
}
注文クラス:
@Table(name="ORDERS")
public class Order implements Serializable, IEntity
{
private int orderID;
private double price;
@Column(name="ACCOUNT_ACCOUNTID")
private Account account;
@Id
@GeneratedValue
public int getOrderID() {
return orderID;
}
public void setOrderID(int orderID) {
this.orderID = orderID;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
@ManyToOne(cascade = CascadeType.ALL ,fetch = FetchType.EAGER)
public Account getAccount() {
return account;
}
public void setAccount(Account account) {
this.account = account;
}
}
しかし、次の HQL を使用して HibernateTemplate の List メソッドにアクセスしようとすると:
SQL_QUERY =" from Account as a where a.balance='"+bal+"'";
それは私に次の例外を与えます:
(JDBCExceptionReporter.java:72) - Invalid object name 'ACCOUNT_orders'.
java.lang.NullPointerException
at com.microsoft.trade.service.TradeServiceImplementor.loginVerify(TradeServiceImplementor.java:59)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
お願い助けて。前もって感謝します。