【发布时间】:2013-08-20 02:30:18
【问题描述】:
我使用 jpa 将一个对象持久化到 mysql 数据库中。
当我像下面这样定义一个名为“index”的列时,该表将不会在数据库中生成。
当我删除或重命名它时,jpa 工作正常。
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import play.db.jpa.GenericModel;
@Entity
@Table(name="QA_ASSETVM")
public class QAAssetVM extends GenericModel{
private static final long serialVersionUID = 1L;
@Id
@Column(name="vmassetname")
public String vmassetname;
@Column(name="assetvm_index") //this works fine!
public int index;
/*
@Column(name="index") //When I add this, the table "QA_ASSETVM" will not be generated by jpa in database.
public int index;
*/
}
【问题讨论】:
-
这里不能测试,但是能不能声明两次public int index?
-
index等关键字不能用作列名.. -
显然,如果它们被引用,它们就可以使用,而这正是其他一些 JPA 实现(例如 DataNucleus JPA)为用户所做的......