⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sourcemediatype.java

📁 Hiberante程序高手秘籍的源代码
💻 JAVA
字号:
package com.oreilly.hh;import java.io.Serializable;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Types;import net.sf.hibernate.UserType;import net.sf.hibernate.Hibernate;import net.sf.hibernate.HibernateException;import net.sf.hibernate.type.Type;/** * Manages persistence for the {@link SourceMedia} typesafe enumeration. */public class SourceMediaType implements UserType {    /**     * Indicates whether objects managed by this type are mutable.     *     * @return <code>false</code>, since enumeration instances are immutable     *         singletons.     */    public boolean isMutable() {        return false;    }    /**     * Return a deep copy of the persistent state, stopping at     * entities and collections.     *     * @param value the object whose state is to be copied.     * @return the same object, since enumeration instances are singletons.     * @throws ClassCastException for non {@link SourceMedia} values.     */    public Object deepCopy(Object value) {        return (SourceMedia)value;    }    /**     * Compare two instances of the class mapped by this type for persistence     * "equality".     *     * @param x first object to be compared.     * @param y second object to be compared.     * @return <code>true</code> iff both represent the same SourceMedia type.     * @throws ClassCastException if x or y isn't a {@link SourceMedia}.     */    public boolean equals(Object x, Object y) {        // We can compare instances, since SourceMedia are immutable singletons        return (x == y);    }    /**     * Determine the class that is returned by {@link #nullSafeGet}.     *     * @return {@link SourceMedia}, the actual type returned     * by {@link #nullSafeGet}.     */    public Class returnedClass() {        return SourceMedia.class;    }    /**     * Determine the SQL type(s) of the column(s) used by this type mapping.     *     * @return a single VARCHAR column.     */    public int[] sqlTypes() {        // Allocate a new array each time to protect against callers changing        // its contents.        int[] typeList = {            Types.VARCHAR        };        return typeList;    }    /**     * Retrieve an instance of the mapped class from a JDBC {@link ResultSet}.     *     * @param rs the results from which the instance should be retrieved.     * @param names the columns from which the instance should be retrieved.     * @param owner the entity containing the value being retrieved.     * @return the retrieved {@link SourceMedia} value, or <code>null</code>.     * @throws HibernateException if there is a problem performing the mapping.     * @throws SQLException if there is a problem accessing the database.     */    public Object nullSafeGet(ResultSet rs, String[] names, Object owner)        throws HibernateException, SQLException    {        // Start by looking up the value name        String name = (String) Hibernate.STRING.nullSafeGet(rs, names[0]);        if (name == null) {            return null;        }        // Then find the corresponding enumeration value        try {            return SourceMedia.getInstanceByName(name);        }        catch (java.util.NoSuchElementException e) {            throw new HibernateException("Bad SourceMedia value: " + name, e);        }    }    /**     * Write an instance of the mapped class to a {@link PreparedStatement},      * handling null values.     *     * @param st a JDBC prepared statement.     * @param value the SourceMedia value to write.     * @param index the parameter index within the prepared statement at which     *        this value is to be written.     * @throws HibernateException if there is a problem performing the mapping.     * @throws SQLException if there is a problem accessing the database.     */    public void nullSafeSet(PreparedStatement st, Object value, int index)        throws HibernateException, SQLException    {        String name = null;        if (value != null)            name = ((SourceMedia)value).getName();        Hibernate.STRING.nullSafeSet(st, name, index);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -