语义和语法是一样的吗?(Are semantics and syntax the same?)
“语义”和“语法”之间的含义有什么区别? 他们是什么?
此外,“语义网站与普通网站”,“语义社交网络与正常社交网络”等有什么区别?
What is the difference in meaning between 'semantics' and 'syntax'? What are they?
Also, what's the difference between things like "semantic website vs. normal website", "semantic social networking vs. normal social networking" etc.
原文:https://stackoverflow.com/questions/209979
最满意答案
为什么不。 你可以做到这一点。 Hibernate允许。
由于您使用的是事务管理,因此答案取决于您的上下文。 如果要保存两个对象而不管另一个对象是否在单个事务中更新它们。
如果您想成功保存整个信息,并希望在任何更新失败时还原所有内容,请将它们保留为当前格式。
Why not. You can do that. Hibernate allows.
Since you are using Transaction management the answer is depends on your context. If you want to save both Objects regardless of saving another make them update in individual transactions.
If you want to save the whole info successfully and want to revert everything if any of the update fail keep them in the current format.
相关问答
更多-
在hibernate中更新对象(Update an object in hibernate)[2023-07-06]
你可以试试这个: DataaccessClass: public boolean update(YourClass yourObject) { Transaction transaction = null; boolean result = false; try { SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); Session session = sessionFa ... -
为什么不。 你可以做到这一点。 Hibernate允许。 由于您使用的是事务管理,因此答案取决于您的上下文。 如果要保存两个对象而不管另一个对象是否在单个事务中更新它们。 如果您想成功保存整个信息,并希望在任何更新失败时还原所有内容,请将它们保留为当前格式。 Why not. You can do that. Hibernate allows. Since you are using Transaction management the answer is depends on your context. ...
-
很可能是因为B对象不是指同一个Java C对象实例。 它们指的是数据库中的同一行(即相同的主键),但它们是不同的副本。 那么正在发生的是Hibernate会话,它正在管理这些实体将跟踪哪个Java对象与具有相同主键的行对应。 一个选项是确保引用同一行的对象B的实体实际上引用了C的相同对象实例。或者关闭该成员变量的级联。 这样当B持续时C不是。 您将不得不手动另存C。 如果C是一个类型/类别表,那么这可能是有道理的。 Most probably its because the B objects are no ...
-
您可以使用@Transactional将事务范围设置为服务级别方法,然后更新从数据库获取的“实时”实体。 例如: @Transactional public void editUser(int userId, User editUser) { User liveUser = getUserDAO().findByPrimaryKey(userId); liveUser.setNameFirst(editUser.getNameFirst()); liveUser.setNameLas ...
-
如果在类型A和B子实体集合上正确设置了id,并且您已在这些实体上指定了cascade=MERGE ,则应该能够使用合并方法,例如, A updatedEntity = dao.merge(yourObjectFromTheHttpSession); 也就是说,我必须手动协调相关集合以正确处理新的传入实体并删除过去的现有实体,并且无法依靠hibernate自动处理所有事情,因此YMMV。 来自文档: 将给定对象的状态复制到具有相同标识符的持久对象上。 如果当前没有与会话关联的持久性实例,则将加载该实例。 返 ...
-
如何使用带有hibernate的spring在我的类中获取会话工厂(How can get the session factory in my class using spring with hibernate)[2023-04-27]
没有指定具体问题(没有评论行)。 我读到了这样的问题 - “我已经在xml文件中注入了SessionFactory bean。现在,我想在Java程序中重新收集它。” 简单! ApplicationContext context = new FileSystemXmlApplicationContext("c:/../application-hibernate.xml"); SessionFactory sessionFact = (SessionFactory) context.getBean("sess ... -
我的猜测是在DAOMyObject.getInstance().deleteObjectWithZeroQuantities(iSession)进行查询以获取数据库 。 但是,在DB中,您的iObject.getQuantity()仍然是!=0 ,因此不会被删除。 为什么您的查询命中数据库而不是使用Session缓存的iObject实例? 那是因为查询必须检索quantity != 0 所有实体 ,并且您没有缓存所有实体 。 Session的第一级缓存通常在按ID检索实体时使用,查询形式为select * ...
-
您可以将对象重新附加到新会话中,就像您在帖子中描述的一样,或者通过使用FetchType.EAGER作为获取类型来禁用延迟初始化, FetchType.EAGER : @OneToMany(fetch = FetchType.EAGER) private Map
attributes = new HashMap (); 有关懒惰和提前获取之间差异的更多信息,请参阅此文章: Java Persistence API中的FetchTyp ... -
无法创建hibernate会话(Cannot create hibernate session)[2023-11-02]
我解决了我的问题。 问题在于hbm问题行的错误配置: I solve my problem. The problem was in wrong configuration of hbm Problematic lines: -
如何更新会话对象(How to update session object)[2022-10-31]
看起来会话对象的更新滞后。 它并不滞后。 问题是,最初您的session没有任何内容,因此您的HTML页面和您的javascript等同于window.alert() 。 更新session ,重新呈现页面将javascript代码更新为window.alert('a_id') 。 有没有办法确保Flask函数对会话对象所做的更新立即反映出来? 您可以检查您的javascript回调以检查cookie返回。 Cookie已加密,因此除非您知道如何解密,否则您将看不到该值。 不建议这样做。 但是,至少可以看到 ...