HHH000142: Javassist Enhancement failed: com.xxx.xxx
在实体类映射文件中配置了many-to-one后,出现了上述的错误
解决办法:在many-to-one标签中,设置lazy属性值为false
<many-to-one name="custSource" column="cust_source" class="com.itheima.domain.BaseDict" lazy="false"></many-to-one>
<many-to-one name="custLevel" column="cust_level" class="com.itheima.domain.BaseDict" lazy="false"></many-to-one>
Caused by: org.hibernate.tool.schema.spi.SchemaManagementException
target [alter table t_user add column uid integer not null]
at org.hibernate.tool.schema.internal.TargetDatabaseImpl.accept(TargetDatabaseImpl.java:59)
at org.hibernate.tool.schema.internal.SchemaMigratorImpl.applySqlString(SchemaMigratorImpl.java:431)
at org.hibernate.tool.schema.internal.SchemaMigratorImpl.applySqlStrings(SchemaMigratorImpl.java:449)
at org.hibernate.tool.schema.internal.SchemaMigratorImpl.migrateTable(SchemaMigratorImpl.java:253)
at org.hibernate.tool.schema.internal.SchemaMigratorImpl.doMigrationToTargets(SchemaMigratorImpl.java:170)
at org.hibernate.tool.schema.internal.SchemaMigratorImpl.doMigration(SchemaMigratorImpl.java:60)
at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:133)
at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:101)
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:470)
at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:444)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:708)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:724)
at cn.itcast.utils.HibernateUtils.<clinit>(HibernateUtils.java:12)
在整合ssh框架时,测试数据库配置是否正确,遇到此异常。
之前是
<property name="hibernate.hbm2ddl.auto">update</property>
改为
<property name="hibernate.hbm2ddl.auto">create</property>