Hello,Everybody,这周我的组长NIAN不在所以由我来写这周的blog,实不相瞒这是我人生中第一次写blog,如有看着不爽的童鞋请直接close就OK了。
Struts2和Hibernate的配置及使用方法(大标题就是,个人认为比较重要的做了代码演示):
手工把Author实体类的set Blog改成泛型集合
public class Author implements java.io.Serializable { // Fields private Integer id; private String username; private String password; private String email; private String address; private String phone; private Set<Blog> blogs =new HashSet<Blog>(); //原代码为private Set blogs =new HashSet();以及生成的set标签 (Notes: 1.inverse的作用是在hibernate中是通过inverse的设置来决定是由谁来维护表和表之间的关系的。 2.cascade(联级)属性:all: 所有情况下均进行关联操作,即save-update和delete。 none: 所有情况下均不进行关联操作。这是默认值。 save-update: 在执行save/update/saveOrUpdate时进行关联操作。 delete: 在执行delete 时进行关联操作。 all-delete-orphan: 当一个节点在对象图中成为孤儿节点时,删除该节点)
<set name="blogs" inverse="true" cascade="delete"> <key> <column name="author_id" /> </key> <one-to-many class="com.lxc.entity.Blog" /> </set>Text类为测试 如果使用增、删、改的操作,我们还需要再引入一个Transaction对象。
public class text { Session session = HibernateSessionFactory.getSession(); Author author = new Author("小超","123","lxc@123.com","古田一号","131251150020"); Transaction transaction = session.beginTransaction(); try { session.save(author); transaction.commit(); } catch (Exception e) { // TODO: handle exception transaction.rollback(); }finally{ session.close(); } } 使用注解配置hibernate; HQL :和SQL查询很像。 public static void main(String[] args) { Session session = HibernateSessionFactory.getSession(); //查询所有作者 String hql = "from Author"; Query query = session.createQuery(hql); List<Author> list = query.list(); for (Author author : list) { System.out.println("姓名:"+author.getUsername()); } HibernateSessionFactory.closeSession(); }没了