gpt4 book ai didi

java - hibernate : MySQLSyntaxErrorException: Unknown column ' ____ ' in 'field list'

转载 作者:搜寻专家 更新时间:2023-11-01 03:06:05 25 4
gpt4 key购买 nike

我是 Hibernate 的新手。

我想从交易表中获取所有记录,

出现以下错误

 Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column transactio2_.deleted' in 'field list'

虽然 deleted 列存在于表中

实体类:

@Entity
@Table(name = "transaction")
public class Transaction implements Comparable<Transaction>
{
@Id
@GeneratedValue
@Column(name = "transactionId")
private int transactionId;

@Column(name = "date")
private Date date;

@Column(name = "amount")
private BigDecimal amount;

@ManyToOne
@JoinColumn(name = "transactionTypeId")
private TransactionType transactionType;

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

@Column(name = "operation")
private String operation;

@Column(name = "lastUpdate")
private Date lastUpdate;

@Column(name = "deleted")
private int deleted;

@Column(name = "remark")
private String remark;

public Transaction()
{
super();
}

@Override
public int compareTo(Transaction c)
{
if (getTransactionId() < c.getTransactionId())
{
return -1;
}
if (getTransactionId() > c.getTransactionId())
{
return 1;
}
return 0;
}

public Date getLastUpdate()
{
return lastUpdate;
}

public void setLastUpdate(Date lastUpdate)
{
this.lastUpdate = lastUpdate;
}

public User getUser()
{
return user;
}

public void setUser(User user)
{
this.user = user;
}

public int getDeleted()
{
return deleted;
}

public void setDeleted(int deleted)
{
this.deleted = deleted;
}

public int getTransactionId()
{
return transactionId;
}

public void setTransactionId(int transactionId)
{
this.transactionId = transactionId;
}

public Date getDate()
{
return date;
}

public void setDate(Date date)
{
this.date = date;
}

public BigDecimal getAmount()
{
return amount;
}

public void setAmount(BigDecimal amount)
{
this.amount = amount;
}

public TransactionType getTransactionType()
{
return transactionType;
}

public void setTransactionType(TransactionType transactionType)
{
this.transactionType = transactionType;
}

public String getOperation()
{
return operation;
}

public String getRemark()
{
return remark;
}

public void setRemark(String remark)
{
this.remark = remark;
}

public void setOperation(String operation)
{
this.operation = operation;
}
}

hibernate 事务Bean:

@ManagedBean
@ViewScoped
public class TransactionBean implements Serializable
{

ArrayList<Transaction> transactionList = new ArrayList<>();

/**
* Public Constructor
*/
public TransactionBean()
{
Session session = HibernateUtil.getSessionFactory().openSession();
@SuppressWarnings("unchecked")
transactionList = (ArrayList<Transaction>) session.createCriteria(Transaction.class).list();
}

我的代码出了什么问题?

编辑:这里是数据库表的创建语句

 delimiter $$

CREATE TABLE `transaction` (
`transactionId` int(11) NOT NULL AUTO_INCREMENT,
`date` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`amount` decimal(10,2) DEFAULT NULL,
`transactionTypeId` int(11) NOT NULL,
`operation` varchar(45) DEFAULT NULL,
`lastUpdate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`userId` int(11) NOT NULL,
`deleted` tinyint(4) NOT NULL DEFAULT '0',
`remark` varchar(450) DEFAULT NULL,
PRIMARY KEY (`transactionId`),
KEY `fk_transaction_1` (`userId`),
KEY `fk_transaction_2` (`transactionTypeId`),
CONSTRAINT `fk_transaction_1` FOREIGN KEY (`userId`) REFERENCES `user` (`userId`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `fk_transaction_2` FOREIGN KEY (`transactionTypeId`) REFERENCES `transaction_type` (`transactionTypeId`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=latin1$$

最佳答案

如果我手动创建 JPA 实体,我会遇到同样的问题。只需确保每个 getter 函数都有 @Column 注释即可。

@Column(name = "deleted")
public int getDeleted()
{
return deleted;
}

关于java - hibernate : MySQLSyntaxErrorException: Unknown column ' ____ ' in 'field list' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21871118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com