即时通讯使用以下代码插入数据到JPA和我得到错误,当我试图做提交时,对象是与完整的数据,所以我不明白我失去了什么这里有什么想法?错误,同时创建jpa表时创建新条目
entityManager.getTransaction().begin();
entityManager.persist(object);
entityManager.getTransaction().commit();
实体这个样子的所有的getter和setter
@Entity
public class LeaveRequest {
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
private int id;
private String type;
private String from;
private String to;
private String length;
private String state;
public int getId() {
return id;
}
错误是:
Internal Exception: java.sql.SQLSyntaxErrorException: Syntax error: Encountered "FROM" at line 1, column 31.
Error Code: 20000
Call: INSERT INTO LEAVEREQUEST (ID, FROM, LENGTH, STATE, TO, TYPE) VALUES (?, ?, ?, ?, ?, ?)
bind => [6 parameters bound]
Query: InsertObjectQuery(LeaveRequest [id=1, type=VACATION, from=2012-12-27, to=2012-12-27, length=1 day, state=Rejected])
许多数据库将允许您使用保留字作为标识符(如' “FROM”')。您可以通过'@ Column'注释('@Column(name =“\”FROM \“”)'')来做到这一点。 – 2013-03-17 17:24:22
@BrianVosburgh我不知道,但是这又值得吗?就我个人而言,我觉得这种方法会混淆查询可读性.... – Thihara 2013-03-18 04:19:45