本帖最后由 EvilCross 于 2010-09-10 17:26:07 编辑

解决方案 »

  1.   

    我来解释下这种错误,但没有实验是否正确:
    long -> 基本类型,当对象生成时,此类成员属性将会获得一个为0的初始化值
    Long -> 对象类型,当对象生成时,此类成员属性将会获得一个为null的初始值
    而楼主是想让DBMS递增此属性值,当为0时,数据库就认为id已经有值了。第二点:
    JPA有四种主键生成策略(GenerationType),但与底层DBMS还是有关的,例如:
    Oracle和DB2支持SEQUENCE,SQL Server和Sybase支持IDENTITY,mysql支持AUTO。所有的数据库都可以指定为AUTO。事实上采用自增方式,不需要指定什么
    /**主键**/
    @Id
    @GeneratedValue
    private Long id;
    如果上述解释不对,那就可以将思路转向GAE。