Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 未知列';。。。jDodeAttachedState';在';字段列表';gwt项目_Java_Mysql_Hibernate_Gwt - Fatal编程技术网

Java 未知列';。。。jDodeAttachedState';在';字段列表';gwt项目

Java 未知列';。。。jDodeAttachedState';在';字段列表';gwt项目,java,mysql,hibernate,gwt,Java,Mysql,Hibernate,Gwt,我有奇怪的问题。当我在没有gwt的情况下运行项目时,只需休眠即可,但当我在gwt中插入它的代码时,就会出现此异常 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions WARN: SQL Error: 1054, SQLState: 42S22 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions ERROR: Unknown column

我有奇怪的问题。当我在没有gwt的情况下运行项目时,只需休眠即可,但当我在gwt中插入它的代码时,就会出现此异常

PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
WARN: SQL Error: 1054, SQLState: 42S22
PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
ERROR: Unknown column 'employee0_.jdoDetachedState' in 'field list'
是我干的

List<Employee> list = session.createQuery("FROM Employee").list();
我的班级看起来怎么样

@Entity
@Table(name="employee")
public class Employee implements Serializable{

    @Id
    public Integer id;

    @Column(nullable=false)
    public String first_name;

    @Column(nullable=false)
    public String second_name;

    @OneToOne
    @JoinColumn(name = "post")
    public Position post;

    @Column(nullable=false)
    public String born;

    @Column(nullable=false)
    public Integer salary;

    public String department;

    public Employee(){}

    ... public getters and setters
}

其他查询可以工作,但这个不行。我已经找到了,但无法理解它有什么帮助。

这是因为您没有在
Employee
类中提到
jodetachedstate
字段的映射 只需在
Employee
类中添加
jdoDetachedState
字段的映射即可

@Column(nullable=false)
public String jdoDetachedState;
还要确保您的表列名与实体类字段名相同,否则使用
@column
注释的
名称
属性作为注释

@Column(name = "column_name",nullable=false)
public String fieldName;

希望这能解决您现在不理解的问题。我有一张“部门”的桌子。它起作用了,但当我在表中添加一列时,它也开始失败,出现了相同的异常:

Unknown column 'department0_.jdoDetachedState' in 'field list'


没有帮助

我找到了解决办法!当我在mysql的表中添加
jdoDetachedState VARCHAR(11)
列时,所有的工作都开始了

我也遇到了同样的问题,通过添加这些行,我得到了解决方案:

@Transient 
protected Object[] jdoDetachedState; 

这对我有帮助。也许,这对任何人都有帮助。

对于简单的google app engine项目(非maven),您可以通过取消选中使用datanucleus JDO/JPA访问数据存储来解决此问题。

步骤:

  • 转到谷歌应用程序引擎插件选项。
  • 单击“部署到应用程序引擎”
  • 单击应用程序引擎项目设置选项
  • 取消选中“使用DataNucleus JDO/JPA访问数据存储”选项

  • 部署或运行

  • 我已经找到了解决方案,我不知道它的正确编程方式,但它解决了我的问题!我修改了我的表,并在mysql中的我的表中添加了
    jdoDetachedState
    列的
    text
    列。
    注意:不要在java文件中添加jdoDetachedState。

    谢谢,我会尝试,但是当我试图放置public Object[]jodetachedState;这无助于你为什么选择对象[]?您的表中JDodeachedState列的数据类型是什么?这是无法解释的,现在我已经造成了:java.lang.ClassFormatError:类文件com/example/myproject/shared/model/employeegwt和hibernate中重复的字段名和签名使用不同的库进行反序列化,因为我从eclipseOk的gwt插件中删除了验证JAR,但是。。。你的评论与主题无关)жжжбббббббббзббббб。好的,如果你没有看到问题,我会指导你使用其他语言的堆栈溢出政策。说到我的话,这只是教育问题。如果有人告诉我我混淆了“It's”和“its”(虽然我不知道),俄罗斯帖子的情况也一样。
     @Column(nullable=false)public String jdoDetachedState; 
    
    @Transient 
    protected Object[] jdoDetachedState;