一, bean中的属性忘记写getter/setter方法
代码:
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.junit.Test;
/**
* Created by sky raker on 14-2-19.
*/
public class HibernateTest
{
@Test
public void test_1()
{
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Session session = sessionFactory.openSession();
People yuki = new People();
session.beginTransaction();
session.saveOrUpdate(yuki);
session.getTransaction().commit();
}
}
现象:
People这个bean中有一个Address的Set集合, 但是代码中却没有getter/setter方法,所以产生了PropertyNotFoundExcpetion
二,在hibernate配置文件中没有使用cascade属性
代码:
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.junit.Test;
import java.util.HashSet;
import java.util.Set;
/**
* Created by shalaco on 14-2-19.
*/
public class HibernateTest
{
@Test
public void test_1()
{
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Session session = sessionFactory.openSession();
People yuki = new People();
Set<Address> set = new HashSet<>();
Address a1 = new Address();
set.add(a1);
yuki.setAddresses(set);
session.beginTransaction();
session.saveOrUpdate(yuki);
session.getTransaction().commit();
}
}
配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="People" table="people">
<id name="people_id">
<generator class="native"/>
</id>
<set name="addresses" table="address">
<key column="people_id" />
<one-to-many class="Address" />
</set>
</class>
<class name="Address" table="address">
<id name="address_id">
<generator class="native" />
</id>
<many-to-one name="people" />
</class>
</hibernate-mapping>
现象:
虽然配置了关联关系, 但是都没有配置cascade, Address类仍然需要独立映射, cascade应配置为save-update
本文出自 “タイムマシん” 博客,请务必保留此出处http://skyraker.blog.51cto.com/6443116/1360428
原文:http://skyraker.blog.51cto.com/6443116/1360428