Я использую Hibernate 3.3.1, и я хотел бы создать связь между людьми и назначенной компанией. Они должны быть слабо связаны, но я хотел бы организовать создание компании через каскад, а не вызывать явно saveOrUpdate(newCompany).
Я определил следующие объекты:
class Company
{
@Id
Long companyId;
String name;
}
class Person
{
@Id
Long personId;
String name;
@ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.REFRESH, CascadeType.MERGE})
Company company;
}
внутри моего дао я делаю следующее:
testpers.setCompany (newCompany);
session.saveOrUpdate(testpers);
и я получаю исключение
org.hibernate.TransientObjectException: объект ссылается на несохраненный переходный экземпляр — сохраните переходный экземпляр перед сбросом: consearch.model.core.Company
При аннотации с помощью «cascade = CascadeType.ALL» это работает, но я не хочу также удалять удаление (например, если компания удалена, то человек не должен быть удален)
Мне было интересно, что раньше ни у кого не было этой проблемы. Спасибо заранее за помощь. Шейн