i have wrritten a testService. java to insert the records into the Service table. the testService.java is as shown below:
package test;
import hibernate.ThreadLocalSession; import model.Service; import model.User;
import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration;
public class testService { /* * Hibernate example to inset data into User table */ public static void main(String[] args) { Session ses = null;
try{ SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory(); ses =sessionFactory.openSession(); org.hibernate.Transaction tx = ses.beginTransaction(); //Create new instance of User and set values in it by reading them from form object System.out.println("Inserting Record"); Service service = new Service(); service.setServiceId("002"); service.setRequireDate(null); service.setIssueDate(null); service.setState("1"); service.setServiceRemarks("abc"); service.setService("def"); User user = new User(); user.addUserInfo(service); user.setEmpNo("001");//user assigned. service.setEmpNo(user); user.setFirstName("Ben"); user.setLastName("m"); user.setCompany("sy"); user.setDepartment("mis"); ses.save(service); System.out.println("Done"); tx.commit(); ses.flush(); ses.close(); }catch(Exception e){ System.out.println(e.getMessage()); } } }
the output shown in the console is as follow:
Feb 22, 2006 10:12:42 AM org.hibernate.cfg.Environment <clinit> INFO: Hibernate 3.0.5 Feb 22, 2006 10:12:42 AM org.hibernate.cfg.Environment <clinit> INFO: hibernate.properties not found Feb 22, 2006 10:12:42 AM org.hibernate.cfg.Environment <clinit> INFO: using CGLIB reflection optimizer Feb 22, 2006 10:12:42 AM org.hibernate.cfg.Environment <clinit> INFO: using JDK 1.4 java.sql.Timestamp handling Feb 22, 2006 10:12:42 AM org.hibernate.cfg.Configuration configure INFO: configuring from resource: /hibernate.cfg.xml Feb 22, 2006 10:12:42 AM org.hibernate.cfg.Configuration getConfigurationInputStream INFO: Configuration resource: /hibernate.cfg.xml Feb 22, 2006 10:12:42 AM org.hibernate.cfg.Configuration addResource INFO: Mapping resource: model/User.hbm.xml Feb 22, 2006 10:12:43 AM org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues INFO: Mapping class: model.User -> USER Feb 22, 2006 10:12:43 AM org.hibernate.cfg.Configuration addResource INFO: Mapping resource: model/Service.hbm.xml Feb 22, 2006 10:12:43 AM org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues INFO: Mapping class: model.Service -> SERVICE Feb 22, 2006 10:12:43 AM org.hibernate.cfg.Configuration addResource INFO: Mapping resource: model/Authorizer.hbm.xml Feb 22, 2006 10:12:43 AM org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues INFO: Mapping class: model.Authorizer -> AUTHORIZER Feb 22, 2006 10:12:43 AM org.hibernate.cfg.Configuration addResource INFO: Mapping resource: model/Company.hbm.xml Feb 22, 2006 10:12:43 AM org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues INFO: Mapping class: model.Company -> COMPANY Feb 22, 2006 10:12:43 AM org.hibernate.cfg.Configuration addResource INFO: Mapping resource: model/ServiceType.hbm.xml Feb 22, 2006 10:12:43 AM org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues INFO: Mapping class: model.ServiceType -> SERVICE_TYPE Feb 22, 2006 10:12:43 AM org.hibernate.cfg.Configuration doConfigure INFO: Configured SessionFactory: null Feb 22, 2006 10:12:43 AM org.hibernate.cfg.Configuration secondPassCompile INFO: processing extends queue Feb 22, 2006 10:12:43 AM org.hibernate.cfg.Configuration secondPassCompile INFO: processing collection mappings Feb 22, 2006 10:12:43 AM org.hibernate.cfg.HbmBinder bindCollectionSecondPass INFO: Mapping collection: model.User.userInfo -> SERVICE Feb 22, 2006 10:12:43 AM org.hibernate.cfg.HbmBinder bindCollectionSecondPass INFO: Mapping collection: model.Service.serviceInfo -> AUTHORIZER Feb 22, 2006 10:12:43 AM org.hibernate.cfg.Configuration secondPassCompile INFO: processing association property references Feb 22, 2006 10:12:43 AM org.hibernate.cfg.Configuration secondPassCompile INFO: processing foreign key constraints Feb 22, 2006 10:12:43 AM org.hibernate.connection.DriverManagerConnectionProvider configure INFO: Using Hibernate built-in connection pool (not for production use!) Feb 22, 2006 10:12:43 AM org.hibernate.connection.DriverManagerConnectionProvider configure INFO: Hibernate connection pool size: 10 Feb 22, 2006 10:12:43 AM org.hibernate.connection.DriverManagerConnectionProvider configure INFO: autocommit mode: false Feb 22, 2006 10:12:43 AM org.hibernate.connection.DriverManagerConnectionProvider configure INFO: using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost/symis Feb 22, 2006 10:12:43 AM org.hibernate.connection.DriverManagerConnectionProvider configure INFO: connection properties: {user=user, password=****} Feb 22, 2006 10:12:43 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: RDBMS: MySQL, version: 4.1.13-nt Feb 22, 2006 10:12:43 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-3.1.11 ( $Date: 2005-09-21 18:20:03 +0000 (Wed, 21 Sep 2005) $, $Revision: 4287 $ ) Feb 22, 2006 10:12:43 AM org.hibernate.dialect.Dialect <init> INFO: Using dialect: org.hibernate.dialect.MySQLDialect Feb 22, 2006 10:12:43 AM org.hibernate.transaction.TransactionFactoryFactory buildTransactionFactory INFO: Using default transaction strategy (direct JDBC transactions) Feb 22, 2006 10:12:43 AM org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup INFO: No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended) Feb 22, 2006 10:12:43 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Automatic flush during beforeCompletion(): disabled Feb 22, 2006 10:12:43 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Automatic session close at end of transaction: disabled Feb 22, 2006 10:12:43 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: JDBC batch size: 15 Feb 22, 2006 10:12:43 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: JDBC batch updates for versioned data: disabled Feb 22, 2006 10:12:43 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Scrollable result sets: enabled Feb 22, 2006 10:12:43 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: JDBC3 getGeneratedKeys(): enabled Feb 22, 2006 10:12:43 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Connection release mode: null Feb 22, 2006 10:12:43 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Maximum outer join fetch depth: 2 Feb 22, 2006 10:12:43 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Default batch fetch size: 1 Feb 22, 2006 10:12:43 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Generate SQL with comments: disabled Feb 22, 2006 10:12:43 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Order SQL updates by primary key: disabled Feb 22, 2006 10:12:43 AM org.hibernate.cfg.SettingsFactory createQueryTranslatorFactory INFO: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory Feb 22, 2006 10:12:43 AM org.hibernate.hql.ast.ASTQueryTranslatorFactory <init> INFO: Using ASTQueryTranslatorFactory Feb 22, 2006 10:12:43 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Query language substitutions: {} Feb 22, 2006 10:12:43 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Second-level cache: enabled Feb 22, 2006 10:12:43 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Query cache: disabled Feb 22, 2006 10:12:43 AM org.hibernate.cfg.SettingsFactory createCacheProvider INFO: Cache provider: org.hibernate.cache.EhCacheProvider Feb 22, 2006 10:12:43 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Optimize cache for minimal puts: disabled Feb 22, 2006 10:12:43 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Structured second-level cache entries: disabled Feb 22, 2006 10:12:43 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Echoing all SQL to stdout Feb 22, 2006 10:12:43 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Statistics: disabled Feb 22, 2006 10:12:43 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Deleted entity synthetic identifier rollback: disabled Feb 22, 2006 10:12:43 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Default entity-mode: pojo Feb 22, 2006 10:12:43 AM org.hibernate.impl.SessionFactoryImpl <init> INFO: building session factory Feb 22, 2006 10:12:43 AM net.sf.ehcache.config.Configurator configure WARNING: No configuration found. Configuring ehcache from ehcache-failsafe.xml found in the classpath: jar:file:/D:/eclipse/plugins/hibernate-2.1/lib/ehcache-0.9.jar!/ehcache-failsafe.xml Feb 22, 2006 10:12:44 AM org.hibernate.impl.SessionFactoryObjectFactory addInstance INFO: Not binding factory to JNDI, no JNDI name configured Feb 22, 2006 10:12:44 AM org.hibernate.dialect.Dialect <init> INFO: Using dialect: org.hibernate.dialect.MySQLDialect Feb 22, 2006 10:12:44 AM org.hibernate.connection.DriverManagerConnectionProvider configure INFO: Using Hibernate built-in connection pool (not for production use!) Feb 22, 2006 10:12:44 AM org.hibernate.connection.DriverManagerConnectionProvider configure INFO: Hibernate connection pool size: 10 Feb 22, 2006 10:12:44 AM org.hibernate.connection.DriverManagerConnectionProvider configure INFO: autocommit mode: false Feb 22, 2006 10:12:44 AM org.hibernate.connection.DriverManagerConnectionProvider configure INFO: using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost/symis Feb 22, 2006 10:12:44 AM org.hibernate.connection.DriverManagerConnectionProvider configure INFO: connection properties: {user=user, password=****} Feb 22, 2006 10:12:44 AM org.hibernate.tool.hbm2ddl.SchemaUpdate execute INFO: Running hbm2ddl schema update Feb 22, 2006 10:12:44 AM org.hibernate.tool.hbm2ddl.SchemaUpdate execute INFO: fetching database metadata Feb 22, 2006 10:12:44 AM org.hibernate.tool.hbm2ddl.SchemaUpdate execute INFO: updating schema Feb 22, 2006 10:12:44 AM org.hibernate.cfg.Configuration secondPassCompile INFO: processing extends queue Feb 22, 2006 10:12:44 AM org.hibernate.cfg.Configuration secondPassCompile INFO: processing collection mappings Feb 22, 2006 10:12:44 AM org.hibernate.cfg.Configuration secondPassCompile INFO: processing association property references Feb 22, 2006 10:12:44 AM org.hibernate.cfg.Configuration secondPassCompile INFO: processing foreign key constraints Feb 22, 2006 10:12:44 AM org.hibernate.tool.hbm2ddl.TableMetadata <init> INFO: table found: symis.authorizer Feb 22, 2006 10:12:44 AM org.hibernate.tool.hbm2ddl.TableMetadata <init> INFO: columns: [service_id, autho_id, date, roles, service_info, name, autho_remarks] Feb 22, 2006 10:12:44 AM org.hibernate.tool.hbm2ddl.TableMetadata <init> INFO: foreign keys: [fk2_service_id] Feb 22, 2006 10:12:44 AM org.hibernate.tool.hbm2ddl.TableMetadata <init> INFO: indexes: [primary, fk2_service_id] Feb 22, 2006 10:12:44 AM org.hibernate.tool.hbm2ddl.TableMetadata <init> INFO: table found: symis.company Feb 22, 2006 10:12:44 AM org.hibernate.tool.hbm2ddl.TableMetadata <init> INFO: columns: [address2, tel_no, address3, address1, fax, name, company_id] Feb 22, 2006 10:12:44 AM org.hibernate.tool.hbm2ddl.TableMetadata <init> INFO: foreign keys: [] Feb 22, 2006 10:12:44 AM org.hibernate.tool.hbm2ddl.TableMetadata <init> INFO: indexes: [primary] Feb 22, 2006 10:12:44 AM org.hibernate.tool.hbm2ddl.TableMetadata <init> INFO: table found: symis.service Feb 22, 2006 10:12:44 AM org.hibernate.tool.hbm2ddl.TableMetadata <init> INFO: columns: [require_date, service, emp_no, issue_date, service_id, service_remarks, user_info, state] Feb 22, 2006 10:12:44 AM org.hibernate.tool.hbm2ddl.TableMetadata <init> INFO: foreign keys: [fk1_emp_no] Feb 22, 2006 10:12:44 AM org.hibernate.tool.hbm2ddl.TableMetadata <init> INFO: indexes: [primary, fk1_emp_no] Feb 22, 2006 10:12:44 AM org.hibernate.tool.hbm2ddl.TableMetadata <init> INFO: table found: symis.service_type Feb 22, 2006 10:12:44 AM org.hibernate.tool.hbm2ddl.TableMetadata <init> INFO: columns: [service_type_id, description] Feb 22, 2006 10:12:44 AM org.hibernate.tool.hbm2ddl.TableMetadata <init> INFO: foreign keys: [] Feb 22, 2006 10:12:44 AM org.hibernate.tool.hbm2ddl.TableMetadata <init> INFO: indexes: [primary] Feb 22, 2006 10:12:44 AM org.hibernate.tool.hbm2ddl.TableMetadata <init> INFO: table found: symis.user Feb 22, 2006 10:12:44 AM org.hibernate.tool.hbm2ddl.TableMetadata <init> INFO: columns: [emp_no, designation, ext_no, last_name, first_name, department, company] Feb 22, 2006 10:12:44 AM org.hibernate.tool.hbm2ddl.TableMetadata <init> INFO: foreign keys: [] Feb 22, 2006 10:12:44 AM org.hibernate.tool.hbm2ddl.TableMetadata <init> INFO: indexes: [primary] Feb 22, 2006 10:12:44 AM org.hibernate.tool.hbm2ddl.SchemaUpdate execute INFO: schema update complete Feb 22, 2006 10:12:44 AM org.hibernate.connection.DriverManagerConnectionProvider close INFO: cleaning up connection pool: jdbc:mysql://localhost/symis Feb 22, 2006 10:12:44 AM org.hibernate.impl.SessionFactoryImpl checkNamedQueries INFO: Checking 0 named queries
Inserting Record Hibernate: select user_.EMP_NO, user_.FIRST_NAME as FIRST2_0_, user_.LAST_NAME as LAST3_0_, user_.COMPANY as COMPANY0_, user_.DEPARTMENT as DEPARTMENT0_, user_.DESIGNATION as DESIGNAT6_0_, user_.EXT_NO as EXT7_0_ from USER user_ where user_.EMP_NO=? Done Hibernate: insert into SERVICE (REQUIRE_DATE, ISSUE_DATE, EMP_NO, USER_INFO, STATE, SERVICE_REMARKS, SERVICE, SERVICE_ID) values (?, ?, ?, ?, ?, ?, ?, ?) null
i think my mapping file has problem: i attached my service.hbm.xml and model file service.java as below:
<?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 > <class name="model.Service" table="SERVICE" >
<id name="serviceId" column="SERVICE_ID" type="java.lang.String" > <generator class="assigned"> <!-- To add non XDoclet generator parameters, create a file named hibernate-generator-params-Service.xml containing the additional parameters and place it in your merge dir. --> </generator> </id>
<property name="requireDate" type="date" update="true" insert="true" > <column name="REQUIRE_DATE" /> </property>
<property name="issueDate" type="date" update="true" insert="true" > <column name="ISSUE_DATE" /> </property>
<many-to-one name="empNo" class="model.User" cascade="none" lazy="false" update="true" insert="true" foreign-key="FK1_EMP_NO" column="EMP_NO" not-null="true" /> <property name="sv_userInfo" type="string" update="true" insert="true" > <column name="USER_INFO" /> </property>
<property name="state" type="int" update="true" insert="true" > <column name="STATE" /> </property>
<property name="serviceRemarks" type="string" update="true" insert="true" > <column name="SERVICE_REMARKS" /> </property>
<property name="service" type="string" update="true" insert="true" > <column name="SERVICE" /> </property> <list name="serviceInfo" lazy="false" inverse="true" cascade="none" >
<key column="SERVICE_ID" > </key>
<index column="SERVICE_INFO" type="string" />
<one-to-many class="model.Authorizer" />
</list>
<!-- To add non XDoclet property mappings, create a file named hibernate-properties-Service.xml containing the additional properties and place it in your merge dir. -->
</class>
</hibernate-mapping>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ package model;
import java.io.Serializable; import java.util.ArrayList; import java.util.Date; import java.util.List;
public class Service implements Serializable {
private String serviceId; private Date requireDate; private Date issueDate; private User empNo; private String state; private String serviceRemarks; private String service; private String sv_userInfo; private List serviceInfo = new ArrayList(); public List getServiceInfo() { return serviceInfo; } public void setServiceInfo(List serviceInfo) { this.serviceInfo = serviceInfo; } public Date getIssueDate() { return issueDate; } public void setIssueDate(Date issueDate) { this.issueDate = issueDate; } public String getServiceRemarks() { return serviceRemarks; } public void setServiceRemarks(String serviceRemarks) { this.serviceRemarks = serviceRemarks; } public Date getRequireDate() { return requireDate; } public void setRequireDate(Date requireDate) { this.requireDate = requireDate; } public String getService() { return service; } public void setService(String service) { this.service = service; } public String getServiceId() { return serviceId; } public void setServiceId(String serviceId) { this.serviceId = serviceId; } public String getState() { return state; } public void setState(String state) { this.state = state; } public String getSv_userInfo() { return sv_userInfo; } public void setSv_userInfo(User userInfo) { this.sv_userInfo = sv_userInfo; } public User getEmpNo() { return empNo; } public void setEmpNo(User empNo) { this.empNo = empNo; } }
any comments???
|