<property name="defaultAddress" type="boolean" not-null="true">
   <column name="is_default" />
</property>Address address=new Address();
address.setName("jiangbo");
address.setFullAddress("fdsfsdfsdf")
address.setPostalCode("025663");
address.setMobile("126665666");
address.setDefaultAddress(false);
User user=new User();
user.setId(2);
address.setUser(user);
Session session=HibernateSessionFactory.getSession();
session.save(address);Exception in thread "main" org.hibernate.exception.DataException: could not insert: [domain.Address]
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:77)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)

解决方案 »

  1.   

    姐姐,你数据库中有Boolean这个数据类型么。。
      

  2.   

    hbm.xml文件中的type 是要与数据库中的数据类型要一致的否则,否则运行时肯定会出现找不到数据库类型或者是无效字段!
      

  3.   

    数据库类型与hibernate映射文件类型不匹配,如果数据库中用boolean,映射文件中也可用byte类型,1,0代表true和false。
      

  4.   

    如果数据库的该表的字段是bit类型的话,type="java.lang.Boolean"
      

  5.   

    数据库类型与hibernate映射文件类型不匹配,如果数据库中用boolean,映射文件中也可用byte类型,1,0代表true和false。