草庐IT

Hibernate

全部标签

java - 处理 hibernate UnsupportedOperationException : Can't write to a readonly object

我需要设置哪些配置参数或session首选项来解决此问题?无法写入只读对象?以下是更多信息的堆栈跟踪:Causedby:java.lang.UnsupportedOperationException:Can'twritetoareadonlyobjectatorg.hibernate.cache.ReadOnlyCache.lock(ReadOnlyCache.java:43)atorg.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:85)atorg.hibernate.engine.Action

java - Hibernate:单表中的父/子关系

我几乎看不到任何关于以下与Hibernate相关的问题的指示。这与使用具有父子关系的单个数据库表实现继承有关与自身的关系。例如:CREATETABLEEmployee(empIdBIGINTNOTNULLAUTO_INCREMENT,empNameVARCHAR(100)NOTNULL,managerIdBIGINT,CONSTRAINTpk_employeePRIMARYKEY(empId))此处,managerId列可能为空,或者可能指向Employee表的另一行。业务规则要求员工了解他所有的下属,并让他了解他/她的经理。业务规则还允许行具有空managerId(组织的CEO没有经

java - getCurrentSession 在网络中 hibernate

我正在使用hibernate和jsp/servlet编写一个基于Web的应用程序。我已经阅读了sessionFactory.getCurrentSession和sessionFactory.openSession方法。我知道它们之间的基本区别(使用getCurrentSession您不必关闭连接,当您提交事务时,您的session将自动关闭)。根据我的理解,我们应该选择getCurrentSession并通过session-per-request来完成。让我们考虑以下场景:方法A调用getCurrentSession并获取当前session在方法A中,使用步骤1中的session启动事

java - Hibernate 实体 Autowiring

请问我怎样才能很好地为Hibernate实体启用SpringAutowiring?假设我有一个实体并希望在那里有邮件发送者:@EntitypublicclassEmailActivityextendsActivity{@Autowired@TransientprivateJavaMailSenderjavaMailSender;...}有没有比做更好的方法AutowireCapableBeanFactory.autowireBean(getCurrentSession().get(Activity.class,id));在我的DAO中?谢谢! 最佳答案

java - Hibernate 自动版本控制

我开发了一个客户维护应用程序。用户可以通过网络界面更改客户详细信息。我想处理以下场景:用户1加载customer1详细信息。User2加载customer1详细信息。User1更改并保存customer1的name。User2仅更改并保存customer1的年龄。在上面的场景中,最终数据库保存了customer1的旧名字和新年龄,因为User2覆盖了User1的更新.我正在使用hibernate。我听说HibernateAutomaticVersioning支持这个。如果有人知道如何处理这个问题,请告诉我。 最佳答案 你只需要添加一

java - Hibernate 3 关于删除级联

我有一个关于预订的多对一映射。预订必须属于一个房间。一个房间可以有多个预订。如果一个房间被删除,我希望该房间的所有预订也被删除。我将如何使用hibernate注释来执行此操作?@EntitypublicclassBookingimplementsSerializable{@Id@GeneratedValue(strategy=GenerationType.AUTO)privateLongid;privateDatestartDate;privateDateendDate;privateDatecreatedDate;@ManyToOne@JoinColumn(name="roomId"

java - EhCache 溢出到特定路径的磁盘

我在我的应用程序中使用带hibernate功能的ehcache。这里是ehcache.xml的配置我的diskStore路径是java.io.tmpdir,我想将其更改为我的应用程序路径${WebApp}/DiskStore 最佳答案 存储位置由硬编码路径指定。路径属性的合法值是合法的文件系统路径。例如,对于Unix:/home/application/cache以下系统属性也是合法的,在这种情况下它们被翻译:user.home-User'shomedirectoryuser.dir-User'scurrentworkingdire

java - 如何对可嵌入实体属性实现验证约束?

我有一个带有电子邮件收集属性的Person实体:@ElementCollection@CollectionTable(schema="u",name="emails",joinColumns=@JoinColumn(name="person_fk"))@AttributeOverrides({@AttributeOverride(name="email",column=@Column(name="email",nullable=false)),})publicListgetEmails(){returnemails;}在我的电子邮件类中,我尝试使用@Email注释电子邮件:@Embed

java - 使用 Hibernate 以 block 的形式读/写 blob 数据

有没有一种方法可以使用Hibernate以block的形式从blob读取和写入。现在我收到OutOfmemoryException,因为整个blob数据都加载到内存中的byte[]中。更具体地说,假设我想将一个大文件保存到名为File的数据库表中。publicclassFile{privatebyte[]data;}我在FileInputStream中打开文件,然后呢?我如何告诉Hibernate我需要流式传输内容并且不会立即提供整个byte[]数组?我应该使用Blob而不是byte[]吗?无论如何,我如何流式传输内容?关于阅读,有没有一种方法可以告诉hibernate(除了延迟加载之

java.lang.ClassCastException : [Ljava. lang.Object;不能转换为 entity.UserEntity

我想在hibernate状态下查询两个表。用户实体中的featch3表(用户角色配置文件)。用hql查询:query="selectue,ue.roleEntity.roleIdfromUserEntityue,RoleEntityrefetchallpropertieswhereue.roleEntity.roleId=re.roleIdandue.username='reza'andue.password='123456'";并运行查询:try{sessionFactory=HibernateUtil.getSessionFactory();session=sessionFacto