java - 休眠不同的方法名称作为字段
问题描述
hibernate 是否有可能使用具有不同名称的 getter 作为字段?
....
private ComplexObject test;
@Access(AccessType.PROPERTY)
@OneToOne(cascade = CascadeType.ALL, orphanRemoval = true)
@JoinColumn(name = "number_format")
public ComplexObject getSomeStuff() {
....
return test;
}
....
我总是得到一个例外
原因:javax.persistence.PersistenceException:[PersistenceUnit:默认] 无法在 org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:1249) 处构建 Hibernate SessionFactory~[hibernate-entitymanager-4.3.11。 Final.jar:4.3.11.Final] 在 org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.access$600(EntityManagerFactoryBuilderImpl.java:120) ~[hibernate-entitymanager-4.3.11.Final.jar:4.3.11。最终] 在 org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:860) ~[hibernate-entitymanager-4.3.11.Final.jar:4.3.11.Final] 在 org.hibernate.jpa .boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:850) ~[hibernate-entitymanager-4.3.11.Final.jar:4.3.11.Final] 在 org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:425) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] 在 org.hibernate。 jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:849) ~[hibernate-entitymanager-4.3.11.Final.jar:4.3.11.Final] at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory (SpringHibernateJpaPersistenceProvider.java:60)~[spring-orm-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:343)~[spring- orm-4.2.4.RELEASE.jar:4.2.4.RELEASE] 在 org.springframework.orm.jpa.AbstractEntityManagerFactoryBean。afterPropertiesSet(AbstractEntityManagerFactoryBean.java:318) ~[spring-orm-4.2.4.RELEASE.jar:4.2.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637) ~ [spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) ~[spring-beans-4.2.4. RELEASE.jar:4.2.4.RELEASE] ...省略了21个常用框架beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] ...省略了21个常用框架beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] ...省略了21个常用框架
引起:org.hibernate.MappingException:无法确定类型:ComplexObject,在表:表,列: [org.hibernate.mapping.Column(extension_form_element_number_format)] 在 org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:349) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] 在org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:322) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] at org.hibernate.mapping.Property.isValid(Property.java :241) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:496) ~[hibernate-core-4.3.11. Final.jar:4.3.11.Final] 在 org.hibernate.mapping.RootClass.validate(RootClass.java:270) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] 在 org. hibernate.cfg.Configuration.validate(Configuration.java:1360) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] 在 org.hibernate.cfg.Configuration。buildSessionFactory(Configuration.java:1851) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:857) ~[hibernate-entitymanager-4.3.11.Final.jar:4.3.11.Final] ...省略29个常用框架
如果方法不是由字段命名的(在本例中为 getTest())。
谢谢
解决方案
推荐阅读
- modelica - 在初始化时只求解方程组一次
- r - 复制行并重新标记R中的两列
- angular - Angular 在哪里存储常量数据结构?
- sql - 无效操作:列引用“column_name”不明确 PostgreSql
- python-3.x - 检查python中两个分类对象数据类型列之间的关系
- postman - 是否可以在不编写预请求脚本的情况下重用动态变量值
- c# - Windows 窗体,从主窗体中的类访问图片框
- python - 每分钟运行一个函数python?
- windows - Docker Compose 构建失败 - 文件共享已被取消
- java - 传递给 Collections.sort 时的 Java 比较器问题