你可以试试这个:
数据访问类:
public boolean update(YourClass yourObject) {
Transaction transaction = null;
boolean result = false;
try {
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.getCurrentSession();
transaction = session.beginTransaction();
session.update(yourObject);
transaction.commit();
result = true;
} catch (Exception ex) {
ex.printStackTrace();
if (transaction != null) {
transaction.rollback();
}
}
return result;
}
public boolean update2(YourClass yourObject) {
Transaction transaction = null;
int result = -1;
try {
String sqlQuery = "UPDATE YourTable SET yourColumn1=" + yourObject.value1
+ ", yourColumn2='" + yourObject.value2 + "' WHERE [some condition]=";
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.getCurrentSession();
transaction = session.beginTransaction();
SQLQuery query = session.createSQLQuery(sqlQuery);
result = query.executeUpdate();
transaction.commit();
} catch (Exception ex) {
ex.printStackTrace();
if (transaction != null) {
transaction.rollback();
}
}
return result;
}
休眠.cfg.xml
<hibernate-configuration>
<session-factory name="session">
<property name="hibernate.connection.driver_class">[db_driver]</property>
<property name="hibernate.connection.url">jdbc:[db_type]://[db_ip]:[db_port]/YourDatabase</property>
<property name="hibernate.connection.username">username</property>
<property name="hibernate.connection.password">password</property>
<property name="hibernate.dialect">[db_dialect]</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">false</property>
<property name="hibernate.current_session_context_class">thread</property>
<mapping class="dataaccess.entity.YourClass"/>
</session-factory>
</hibernate-configuration>
HibernateUtil.class
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
sessionFactory = new AnnotationConfiguration().configure("/hibernate.cfg.xml").buildSessionFactory();
} catch (Throwable ex) {
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}