我想玩一个非常简单的类的JPA!框架,并与id列有一些问题。问题与ID列和JPA
我的SQL数据库只有两列:
CREATE TABLE IF NOT EXISTS `auto` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
)
我的模式是:
@Entity
@Table(name = "auto")
public class Auto extends Model{
@Column(insertable = false, updatable = false)
public int id;
public String name;
public Auto(String name){
this.name = name;
}
}
一切正常,没有这部分:
@Column(insertable = false, updatable = false)
public int id;
只要我添加public int id;
虽然我会得到这个错误:A JPA error occurred (Unable to build EntityManagerFactory): Repeated column in mapping for entity: models.Auto column: id (should be mapped with insert="false" update="false")
这就是我已经添加了注解栏的原因,但它不会与工作没有,现在我越来越:
A javax.persistence.PersistenceException has been caught, org.hibernate.PropertyAccessException: could not set a field value by reflection setter of models.Auto.id
我这种方式测试模型:new Auto("bmw").save();
save()是playframework中模型类的一个方法。
任何人都知道我为什么遇到这个问题?谢谢!
使用Spring Data JPA并从AbstractPersistable扩展实体时出现同样的问题@kindofwhat:Thx将我指向正确的方向! – Sal 2012-07-24 00:20:47