Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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
弗吉尼亚州:1030) 位于com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956) 在com.mysql.jdbc.MysqlIO.checkErrorPacket上(MysqlIO.java:3491) 在com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)上 位于com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936) 位于com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060) 位于com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2542) 位于com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1734) 位于com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1885) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中 位于java.lang.reflect.Method.invoke(Method.java:597) 位于org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:122) ... 还有16个_Java_Hibernate - Fatal编程技术网

弗吉尼亚州:1030) 位于com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956) 在com.mysql.jdbc.MysqlIO.checkErrorPacket上(MysqlIO.java:3491) 在com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)上 位于com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936) 位于com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060) 位于com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2542) 位于com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1734) 位于com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1885) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中 位于java.lang.reflect.Method.invoke(Method.java:597) 位于org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:122) ... 还有16个

弗吉尼亚州:1030) 位于com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956) 在com.mysql.jdbc.MysqlIO.checkErrorPacket上(MysqlIO.java:3491) 在com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)上 位于com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936) 位于com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060) 位于com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2542) 位于com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1734) 位于com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1885) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中 位于java.lang.reflect.Method.invoke(Method.java:597) 位于org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:122) ... 还有16个,java,hibernate,Java,Hibernate,查看此代码: @JoinTable(name="Houses", joinColumns = @JoinColumn(name="id"), inverseJoinColumns=@JoinColumn(name="houses_id")) 我不确定您在这里想要实现什么,但它通常用于解决与中间表的许多关系。因此,此代码意味着您有带有id和Houses\u id列的表Houses。错误消息说houses表中没有houses\u id(我觉得这很合理)也许您应该试试manytone和JoinCol

查看此代码:

@JoinTable(name="Houses", joinColumns = @JoinColumn(name="id"), inverseJoinColumns=@JoinColumn(name="houses_id"))
我不确定您在这里想要实现什么,但它通常用于解决与中间表的许多关系。因此,此代码意味着您有带有
id
Houses\u id
列的表
Houses
。错误消息说
houses
表中没有
houses\u id
(我觉得这很合理)
也许您应该试试manytone和JoinColumn?例如:

@JoinColumn(name="house_id")

或者
houses\u id
,如果这是streets表中的外键。如果这真的是多对一关系,复数听起来很奇怪。

请确保您调用的表具有正确的列。我有这个问题,我发现映射的域列在数据库中不匹配

只需检查POJO中的变量名和数据库中提供的名称即可。当它们不相同时,将抛出此错误。

请检查您的数据库是否包含所有表。如果表中缺少任何表或属性,请将它们添加到数据库中,然后重新添加hibernate映射文件。我用那种方法修正了这个错误。我的数据库的两个表中缺少2个属性,一旦我添加了它们并重新添加hibernate,错误就被修复了。

检查类上的getter和setter名称,它们都必须相同

    public String getNome() {//wrong Nome
        return name;
    }


    public void getName(String name) {//right
        this.name = name;
    }

我知道有一个公认的答案。我想向出现在本页的任何人提一个备选答案,在字段列表中有相同的问题-未知列

当我通过映射查询UserSurveyLog(这两个表之间有公共SurveyID)时,我试图从Survey表中获取调查细节

用户调查表中的映射

@OneToOne(fetch = FetchType.EAGER)
@JoinColumn(referencedColumnName = "SurveyID")
private Survey survey;

public Survey getSurvey() {    return survey;  }

public void setSurvey(Survey survey) {   this.survey = survey;  }

public Integer getUserSurveyLogID() {
    return userSurveyLogID;
}
看看我收到的这个错误

Hibernate:插入hifiniteDB.UserSurveyLog(CompletedDate、CreatedBySerName、CreatedDate、ExpiryDate、LastDeliveredDate、ModifiedBySerName、ModifiedDate、OrgNodeID、ProgramUserID、RootOrgNodeID、SurveyID、SurveyStatus、SurveyTriggerID、SurveyTriggerType、UserDiagnosid、UserID)值(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) 2019-10-09 14:39:45.722[https-jsse-nio-8443-exec-3]错误o.h.e.jdbc.spi.SqlExceptionHelper-未知列“字段列表”中的“调查”

请注意,survey_SurveyID是通过我在survey表上所做的映射添加的。不知道为什么仅执行一次获取操作就会将此列添加到本应独立的Insert on UserSurvey日志中

我解决这个问题的方法是在@join列上添加insertable=false、updateable=false

@OneToOne(fetch = FetchType.EAGER)
@JoinColumn(referencedColumnName = "SurveyID", insertable = false,updatable = false)
private Survey survey;

我注意到,虽然我使用了userName或bloodGroup之类的变量名,但它得到的错误是“由以下原因引起的:java.sql.SQLSyntaxErrorException:未知列'field list'中的'user0\u0.blood\u group'
若要解决此问题,请更改用户名或血型等变量名。我希望它会得到预期结果。

Aaaa!代码太多!!!为什么街道对象中同时包含房屋ID和房屋?是否尝试直接运行此查询?
街道
表是否包含
房屋ID
列?如果添加注释,请确保hat no whitespace left你应该首先调试你的sql查询,如果它运行正常,那么问题就出在java代码中。但是现在看来你的查询在第一轮中是不正确的是,你是对的!!我删除了一个多么悲伤的人,并写道:@ManyToOne@JoinColumn(name=“houses_id”)public House getHouse(){return House;}public void setHouse(House){this.house=house;}现在我需要与house进行测试。这应该是一个评论,而不是问题的答案。添加一些描述并解释更多细节。类似地,我发现MySQL Workbench中的某个列名有多余的前导空间-不确定它们是如何到达的,但一旦删除,错误就被解决了。我使用t看到了这些空间表检查器。若要展开注释,请同时检查绑定字段是否与数据库中的字段同名。您可能认为您正在使用某种命名策略在snakecase和camelcase之间进行转换,但您没有这样做。我本不希望这样做,但它成功了(我在“字段列表”中发布了未知列“appointmen0\ apptDesc”)。有人能澄清为什么这是一个解决方案,以及为什么当驼峰案例与DB匹配时不允许标准驼峰案例? log4j:WARN No appenders could be found for logger (org.jboss.logging). log4j:WARN Please initialize the log4j system properly. Hibernate: select this_.id as id1_1_, this_.houses_id as houses2_1_1_, this_.name as name1_1_, this_1_.houses_id as houses3_0_1_, house2_.id as id0_0_, house2_.name as name0_0_ from Streets this_ left outer join Houses this_1_ on this_.id=this_1_.id left outer join Houses house2_ on this_1_.houses_id=house2_.id org.hibernate.exception.SQLGrammarException: Unknown column 'this_1_.houses_id' in 'field list' at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:82) at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110) at org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:129) at org.hibernate.engine.jdbc.internal.proxy.AbstractProxyHandler.invoke(AbstractProxyHandler.java:81) at $Proxy14.executeQuery(Unknown Source) at org.hibernate.loader.Loader.getResultSet(Loader.java:2031) at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1832) at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1811) at org.hibernate.loader.Loader.doQuery(Loader.java:899) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:341) at org.hibernate.loader.Loader.doList(Loader.java:2516) at org.hibernate.loader.Loader.doList(Loader.java:2502) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2332) at org.hibernate.loader.Loader.list(Loader.java:2327) at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:124) at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1621) at org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:374) at com.ff.DAO.StreetDAOImpl.getAllStreets(StreetDAOImpl.java:48) at FFMain.main(FFMain.java:58) Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'this_1_.houses_id' in 'field list' at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.mysql.jdbc.Util.handleNewInstance(Util.java:406) at com.mysql.jdbc.Util.getInstance(Util.java:381) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1030) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2542) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1734) at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1885) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:122) ... 16 more
@JoinTable(name="Houses", joinColumns = @JoinColumn(name="id"), inverseJoinColumns=@JoinColumn(name="houses_id"))
@JoinColumn(name="house_id")
    public String getNome() {//wrong Nome
        return name;
    }


    public void getName(String name) {//right
        this.name = name;
    }
@OneToOne(fetch = FetchType.EAGER)
@JoinColumn(referencedColumnName = "SurveyID")
private Survey survey;

public Survey getSurvey() {    return survey;  }

public void setSurvey(Survey survey) {   this.survey = survey;  }

public Integer getUserSurveyLogID() {
    return userSurveyLogID;
}
@OneToOne(fetch = FetchType.EAGER)
@JoinColumn(referencedColumnName = "SurveyID", insertable = false,updatable = false)
private Survey survey;