Bir varlık özelliğini tablonun bir enum sütunuyla eşlemeye çalışıyorum. Yapılandırma XML kullanıyor. Ama ne zaman kod çalıştırıyorsam doğrulanırken bir hata atıyor.XML Yapılandırması kullanılarak Hazırda Beklemenin Eşleştirilmesi
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.sample.employeemanager.pojo.Employee" table="employees">
<property name="gender">
<column name="gender" />
<type name="org.hibernate.type.EnumType">
<param name="enumClass">com.sample.employeemanager.pojo.support.Gender</param>
</type>
</property>
</class>
</hibernate-mapping>
ben google aracılığıyla bu çözüm buldu - takiben
benim eşleştirme yapılır. aşağıdaki gibi
Ve alıyorum hatadır:
public enum Gender {
M, F
}
enum ayrı kaynak dosyasıdır unutmayın:
Initial SessionFactory creation failed.
org.hibernate.HibernateException: Wrong column type in employees.employees for column gender. Found: enum, expected: integer
at org.hibernate.mapping.Table.validateColumns(Table.java:383)
at org.hibernate.cfg.Configuration.validateSchema(Configuration.java:1277)
at org.hibernate.tool.hbm2ddl.SchemaValidator.validate(SchemaValidator.java:155)
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:508)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1760)
at com.sample.employeemanager.common.HibernateUtil.buildSessionFactory(HibernateUtil.java:16)
at com.sample.employeemanager.common.HibernateUtil.<clinit>(HibernateUtil.java:9)
at com.sample.employeemanager.common.EmployeeManager.main(EmployeeManager.java:16)
cinsiyet enum aşağıda benziyor.
Problemin ne olabileceği hakkında bir fikrin var mı?