public class TrainingMessageTypes {

private String msg_type_id;

private String msg_type_description;

private int msg_logic_id;

private byte via_PM;

private byte via_email;

private byte via_SMS;

private int default_msg_id;

private String created_by;

private String create_date;

private String modified_by;

private String modify_date;       setter/getter.......}下面是数据库类型,帮我看看什么地方有字符问题?

解决方案 »

  1.   

    public static List getTrainMessageTypess()throws Exception{
    Session session=null;
    try {
    session = HibernateUtil.openSession();
    session.beginTransaction();
    SQLQuery q = session.createSQLQuery("SELECT {TrainingMessageTypes.*} FROM TrainMessageTypes ORDER BY msg_type_id ASC");
    q.addEntity("TrainMessageingTypes", TrainingMessageTypes.class);
    List list = q.list();
    session.getTransaction().commit();
    return list;
    } catch (Exception e) {
    throw new Exception(e);
    }finally {
    HibernateUtil.closeSession(session);
    }
    }
    在opensession的时候出错。我怀疑是java属性类型和数据库数据类型的问题。
      

  2.   


    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping default-lazy="false" auto-import="false">
    <class name="com.liferay.samplehibernate.model.trainmessagetypes.TrainingMessageTypes"
    table="tbl_training_message_types">
    <id name="msg_type_id" type="java.lang.String">
    <column name="msg_type_id" length="50" />
    <generator class="assigned" />
    </id>
    <property name="msg_type_description" column="msg_type_description" />
    <property name="msg_logic_id" column="msg_logic_id" />
    <property name="via_PM" column="via_PM" />
    <property name="via_email" column="via_email" />
    <property name="via_SMS" column="via_SMS" />
    <property name="default_msg_id" column="default_msg_id" />
    <property name="created_by" column="created_by" />
    <property name="create_date" column="create_date" />
    <property name="modified_by" column="modified_by" />
    <property name="modify_date" column="modify_date" />
    </class>
    </hibernate-mapping>
      

  3.   

    你hibernate 配置文件属性怎么都不写type=“”
    private String modify_date;
    private String create_date;
    这些都是datetime类型
    你把type都加上看看
      

  4.   

    加上了还是没用啊。<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping default-lazy="false" auto-import="false">
    <class name="com.liferay.samplehibernate.model.trainmessagetypes.TrainingMessageTypes"
    table="tbl_training_message_types">
    <id name="msg_type_id" type="java.lang.String">
    <column name="msg_type_id" length="50" />
    <generator class="assigned" />
    <!-- assigned表示要在程序中在save之前由程序指定一个 -->
    </id>
    <property name="msg_type_description" column="msg_type_description" type="java.lang.String" />
    <property name="msg_logic_id" column="msg_logic_id" type="int" />
    <property name="via_PM" column="via_PM" type="byte"/>
    <property name="via_email" column="via_email" type="byte" />
    <property name="via_SMS" column="via_SMS" type="byte" />
    <property name="default_msg_id" column="default_msg_id" type="int" />
    <property name="created_by" column="created_by" type="java.lang.String" />
    <property name="create_date" column="create_date" type="java.util.Date" />
    <property name="modified_by" column="modified_by" type="java.lang.String" />
    <property name="modify_date" column="modify_date" type="java.util.Date" />
    </class>
    </hibernate-mapping>
      

  5.   

    create_date 为什么要定义为string 呢? 不为date
      

  6.   

    private Date create_date;
    private Date modify_date;
    不好意思,刚刚修改了这两个属性的类型为java.util.Date;