求助 在用hibernate进行保存时出现下面问题:
请问怎么解决……
实体类和配置文件关键部分
测试代码:@Test
public void test() {
Configuration configuration = new Configuration();
configuration.configure();
SessionFactory factory = configuration.buildSessionFactory();
Session session = factory.openSession();
Transaction tx = session.getTransaction();
tx.begin();

Customer customer = new Customer();
customer.setCus_id(10);
customer.setCus_name("张三");
session.save(customer);

tx.commit();
session.close();
}报错如下:
java.lang.ClassCastException: class org.hibernate.id.IdentifierGeneratorHelper$2 cannot be cast to class java.lang.Integer (org.hibernate.id.IdentifierGeneratorHelper$2 is in unnamed module of loader 'app'; java.lang.Integer is in module java.base of loader 'bootstrap')

解决方案 »

  1.   

    用注解为什么还要用xml配置identity:由底层数据库生成标识符。identity是由数据库自己生成的,但这个主键必须设置为自增长,前提条件是低层数据库支持自动增长字段类型  ,一般来说象SQL,MYSQL这类的数据库都是选择identity   
      “native”  
      由   Hibernate  根据使用的数据库自行判断采用   identity、hilo、sequence   其中一种作为主键生成方式。 在HIBERNATE配置中native是默认的,泛指的自增,也就是说除了oracle数据库外(oracle下用native需要用到一个叫hibernate_sequence的sequence),大部分数据库你都可以使用默认的native来代表自增。