User-defined ID Generator (Javajason)

xiaoxiao2021-03-06  38

User-defined ID Generator

PO

Package com.dsii.hibernate.po;

Public class company {

Private string id;

PRIVATE STRING NAME;

PRIVATE STRING YEAR;

Public company () {

}

Public string getId () {

Return ID;

}

Public void setid (String ID) {

THIS.ID = ID;

}

Public string getname () {

Return Name;

}

Public void setname (String name) {

THIS.NAME = Name;

}

Public string getYear () {

Return Year;

}

Public void setYear (String year) {

THIS.YEAR = year;

}

}

Xml

UID_TABLE

Next_hi_value_column

c

Customized ID Generator

Package com.dsii.hibernate.po;

Import java.io.serializable;

Import java.sql.sqlexception;

Import java.util.properties;

Import net.sf.hibernate.hibernateException;

Import net.sf.hibernate.diaalect.diand;

Import net.sf.hibernate.Engine.SessionInTementor;

Import net.sf.hibelnate.type.type;

Import net.sf.hibernate.util.propertieshelper;

Import org.apache.commons.logging.log;

Import org.apache.commons.logging.logfactory;

Import net.sf.hibernate.id.tableGenerator;

Public class customizedidgenerator extends TableGenerator {

PRIVATE STRING Prefix;

Private static final log log = logfactory.getlog (CustomizedIdgenerator.class);

Public Void Configure (Type Type, Properties Params, Dialect D) {

Super.configure (Type, Params, D);

Prefix = params.getProperty ("prefix") == NULL? "pre":

Params.GetProperty ("prefix");

}

Public Synchronized Serializable Generate (SessionImplementor Session,

Object obj) throws Sqlexception,

HibernateException {

Integer integer = (integer) super.generate (session, obj);

Return Prefix Integer;

}

}

Bean

Package com.dsii.hibernate.po;

Import net.sf.hibernate. *;

Import Net.sf.hibiBernate.cfg.configuration;

Import net.sf.hibernate.tool.hbm2ddl.schemaExport;

Public class testcompany {

Private static sessionFactory _SESSIONS = NULL;

STATIC {

Try {

Configuration CFG = New Configuration ();

cfg.addclass (company.class);

SchemaExport dbexport = new schemaexport (CFG);

Dbexport.create (true, true);

_SESSIONS = cfg.buildsessionFactory ();

} catCH (mappingexception e) {

E.PrintStackTrace ();

} catch (hibernateException e) {

E.PrintStackTrace ();

}

}

Public static void main (string [] args) throws hibernateException {

System.out.println ("-------------- begin");

Company c1 = new company ();

C1.setname ("DSII");

C1.SETYEAR ("2004");

Company C2 = New Company ();

C2.setname ("DSII");

C2.SETYEAR ("2004");

Session session = _SESSIONS.OPENSESSION ();

Transaction TX = NULL;

Try {

Tx = session.begintransaction (); session.save (C1);

Session.save (C2);

TX.comMit ();

} catch (hibernateException he) {

IF (tx! = null) {

TX.rollback ();

}

Throw He;

} finally {

session.close ();

}

System.out.println ("-------------- End");

}

}

转载请注明原文地址:https://www.9cbs.com/read-66573.html

New Post(0)