Java Hibernate:中的未知mappedBy:,引用的属性未知:
我正在尝试映射我的表以使用Hibernate,但是在启动测试时出现了这个错误Java Hibernate:中的未知mappedBy:,引用的属性未知:,java,hibernate,annotations,oracle10g,mapping,Java,Hibernate,Annotations,Oracle10g,Mapping,我正在尝试映射我的表以使用Hibernate,但是在启动测试时出现了这个错误 Nov 04, 2015 5:17:40 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager INFO: HCANN000001: Hibernate Commons Annotations {4.0.5.Final} Nov 04, 2015 5:17:41 PM org.hibernate.Version lo
Nov 04, 2015 5:17:40 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager
INFO: HCANN000001: Hibernate Commons Annotations {4.0.5.Final}
Nov 04, 2015 5:17:41 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.3.8.Final}
Nov 04, 2015 5:17:41 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
Nov 04, 2015 5:17:41 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
Nov 04, 2015 5:17:41 PM org.hibernate.cfg.Configuration configure
INFO: HHH000043: Configuring from resource: /hibernate.cfg.xml
Nov 04, 2015 5:17:41 PM org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: HHH000040: Configuration resource: /hibernate.cfg.xml
Nov 04, 2015 5:17:41 PM org.hibernate.internal.util.xml.DTDEntityResolver resolveEntity
WARN: HHH000223: Recognized obsolete hibernate namespace http://hibernate.sourceforge.net/. Use namespace http://www.hibernate.org/dtd/ instead. Refer to Hibernate 3.6 Migration Guide!
Nov 04, 2015 5:17:41 PM org.hibernate.cfg.Configuration doConfigure
INFO: HHH000041: Configured SessionFactory: null
Nov 04, 2015 5:17:41 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
WARN: HHH000402: Using Hibernate built-in connection pool (not for production use!)
Nov 04, 2015 5:17:42 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH000401: using driver [oracle.jdbc.OracleDriver] at URL [jdbc:oracle:thin:@example.com:1521/c0fspost0]
Nov 04, 2015 5:17:42 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH000046: Connection properties: {user=user, password=****}
Nov 04, 2015 5:17:42 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH000006: Autocommit mode: false
Nov 04, 2015 5:17:42 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000115: Hibernate connection pool size: 20 (min=1)
Nov 04, 2015 5:17:44 PM org.hibernate.dialect.Dialect <init>
INFO: HHH000400: Using dialect: org.hibernate.dialect.Oracle10gDialect
SessionFactory creation failed.org.hibernate.AnnotationException: Unknown mappedBy in: it.addvalue.mam.fpk.alertengine.mapping.TEvents.TEventsDetails, referenced property unknown: it.addvalue.mam.fpk.alertengine.mapping.TEventsDetails.tEvents
有什么解决这个问题的建议吗?对我来说,映射是正确的,还因为它是由hibernate自动生成的您应该将TEvents变量名从TEvents更改为TEvents:
public class TEventsDetails implements java.io.Serializable {
.....
private TEvents tEvents;
public TEvents getTEvents() {
return this.tEvents;
}
public void setTEvents(TEvents TEvents) {
this.tEvents = TEvents;
}
.....
}请在
类TEventsDetails
的下一行中定义列的名称,因为您已经定义了TEventsDetails表中与TEvents表关联的列
@JoinColumn(name = "EVENT_ID")
好的!我想这是一只冬眠虫。我找到了这个
私有TEventsDetails TEventsDetails;的映射是什么?另外,最好是以小写字母开始变量名…Hibernate代码生成完成了这项工作,我同意你的看法。要回答您的问题:@OneToOne(fetch=FetchType.LAZY,mappedBy=“tEvents”)public-TEventsDetails-getEventsDetails(){返回this.TEventsDetails;}我做到了,但是刚刚在SessionFactory创建中更改的错误失败了。org.hibernate.AnnotationException:未知映射在:it.addvalue.mam.fpk.alertengine.mapping.TEvents.TEvents详细信息中,引用的属性未知:it.addvalue.mam.fpk.alertengine.mapping.TEvents详细信息。TEvents它仅与我执行的事件ID关联,但是没有任何改变@PrimaryKeyJoinColumn(name=“EVENT\u ID”)我已经更新了我的答案,只需使用@JoinColumn(name=“EVENT\u ID”)谢谢你的回复,但没有任何改变。我想是冬眠虫。检查这个
public class TEventsDetails implements java.io.Serializable {
.....
private TEvents tEvents;
public TEvents getTEvents() {
return this.tEvents;
}
public void setTEvents(TEvents TEvents) {
this.tEvents = TEvents;
}
.....
@JoinColumn(name = "EVENT_ID")