一, 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