public class PostService{
private PostDao postDao;
public Post savePost(Post post){
Post managedPost = postDao.save(post);
}
}
мои вопросы
что здесь возвращает метод persist? тот же объект с добавленным полем id или совершенно новый объект?
поскольку я не использую каскадирование, будет ли метод слияния получать комментарии из базы данных? будет ли какой-либо конфликт, если существует разница между набором комментариев от управляемых и отдельных объектов.
в основном то, что я хочу, это сначала сохранить/объединить сообщение, затем получить комментарии и сохранить/объединить их. что-то вроде этого
public Post savePost(Post post){
Post ManagedPost = postDao.save(post);
//получить комментарий, я не знаю, какой использовать post или ManagedPost
Set comment = post/managedPost.getComments();
//зациклировать каждый комментарий и сохранить его
У меня есть объекты «Публикация» и «Комментарий», имеющие связь «один ко многим». [code] @Entity public class Post{ @Id private Integer id;
@OneToMany(mappedBy ="post") private Set comments; } [/code] В классе Post я не определил Cascade, поскольку буду выполнять каскадирование «вручную» в классе обслуживания. вот мой класс dao [code]public class PostDao{
@PersistenceContext protected EntityManager entityManager; public Post save(Post post){ if(post.getId() == null){ entityManager.persist(post); return post; }else { return entityManager.merge(post); } } [/code] Вот мой класс обслуживания и где я столкнулся с трудностями [code]public class PostService{ private PostDao postDao; public Post savePost(Post post){ Post managedPost = postDao.save(post); } } [/code] мои вопросы [list] [*]что здесь возвращает метод persist? тот же объект с добавленным полем id или совершенно новый объект?
[*]поскольку я не использую каскадирование, будет ли метод слияния получать комментарии из базы данных? будет ли какой-либо конфликт, если существует разница между набором комментариев от управляемых и отдельных объектов.
[*]в основном то, что я хочу, это сначала сохранить/объединить сообщение, затем получить комментарии и сохранить/объединить их. что-то вроде этого public Post savePost(Post post){ Post ManagedPost = postDao.save(post); //получить комментарий, я не знаю, какой использовать post или ManagedPost Set comment = post/managedPost.getComments(); //зациклировать каждый комментарий и сохранить его