Heim > Datenbank > MySQL-Tutorial > hibernate 自定义UUID(mysql uuid_short)_MySQL

hibernate 自定义UUID(mysql uuid_short)_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-01 13:35:01
Original
1337 Leute haben es durchsucht

Hibernate

bitsCN.com

 

 

UUID生成类

  3 import org.apache.commons.logging.Log; 4 import org.apache.commons.logging.LogFactory; 5 import org.hibernate.HibernateException; 6 import org.hibernate.MappingException; 7 import org.hibernate.dialect.Dialect; 8 import org.hibernate.engine.SessionImplementor; 9 import org.hibernate.exception.JDBCExceptionHelper;10 import org.hibernate.id.Configurable;11 import org.hibernate.id.IdentifierGenerator;12 import org.hibernate.type.Type;13 14 import java.io.Serializable;15 import java.sql.PreparedStatement;16 import java.sql.ResultSet;17 import java.sql.SQLException;18 import java.util.Properties;19 20 /**21  * Created with IntelliJ IDEA.22  * User: Administrator23  * Date: 13-5-824  * Time: 下午6:1525  * To change this template use File | Settings | File Templates.26  */27 public class ShortUUIDIncrementGenerator implements IdentifierGenerator, Configurable {28     private static final Log log = LogFactory.getLog(ShortUUIDIncrementGenerator.class);29     private final String sql = "select uuid_short()";30 31     @Override32     public Serializable generate(SessionImplementor sessionImplementor, Object o) throws HibernateException {33         synchronized (this) {34             try {35                 PreparedStatement st = sessionImplementor.getBatcher().prepareSelectStatement(sql);36                 try {37                     ResultSet rs = st.executeQuery();38                     final long result;39                     try {40                         rs.next();41                         result = rs.getLong(1);42                     } finally {43                         rs.close();44                     }45                     log.debug("GUID identifier generated: " + result);46                     return result;47                 } finally {48                     sessionImplementor.getBatcher().closeStatement(st);49                 }50             } catch (SQLException e) {51                 throw JDBCExceptionHelper.convert(52                         sessionImplementor.getFactory().getSQLExceptionConverter(),53                         e,54                         "could not retrieve GUID",55                         sql56                 );57             }58         }59     }60 61     @Override62     public void configure(Type type, Properties properties, Dialect dialect) throws MappingException {63         //To change body of implemented methods use File | Settings | File Templates.64     }65 66 }
Nach dem Login kopieren

 

配置:

    @Id    @GeneratedValue(generator = "shortUid")    @GenericGenerator(name = "shortUid", strategy = "com.up72.msi.util.ShortUUIDIncrementGenerator")    @Column(name = "id", unique = true, nullable = false, insertable = true, updatable = true, length = 19)    public java.lang.Long getId() {
Nach dem Login kopieren

 

 

bitsCN.com
Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage